首页 > 编程知识 正文

关于使用js动态修改样式问题,js动态改变字体颜色

时间:2023-12-29 13:16:56 阅读:330384 作者:EGNA

本文目录一览:

JS 动态修改CSS 样式方法/全局

如何配置自行百度

1.scss文件定义变量

2.js中更改$textColor 变量的值

都是获取DOM

通过DOM分别修改当前DOM样式属性值、

当前DOM整体css样式、

修改当前DOM的className类名、

将link引入的标签作为DOM 修改link的href,从而修改引用的样式表。

详情转自:

JS或Jquery动态改变导航栏样式

简单的插件代码如下:

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""

html xmlns=""

head

meta http-equiv="Content-Type" content="text/html; charset=utf-8" /

title动态导航插件/title

style type="text/css"

!--

body, td, th {

font-size: 14px;

background-color:#FFF

}

h1{border-bottom:1px solid #999; margin:50px 60px;}

/*导航默认样式,可根据实际情况修改*/

* {

margin:0;

padding:0

}

.nav {

width:980px;

height:30px;

left:50%;

margin-left:-490px;

list-style:none;

position:relative;

}

.nav li {

display:inline-block;

margin:0 3px;

position:relative;

overflow:hidden;

height:30px; /*建议此高度大于等于里面的a标签高度*/

float:left;

}

.nav li span {

display:inline-block;

overflow:hidden

}

.nav li a {

text-decoration:none;

outline:none;

color:#666;

display:inline-block;

padding:0 10px;

text-align:center;

background-color: #E1E1E1;

font-weight:bold;

height:30px;

line-height:30px;

}

/*鼠标经过时样式*/

.nav li a.over {

background-color:#666;

color:#FFF

}

--

/style

script type=text/javascript src=""/script

script type="text/javascript"

(function($){

$.fn.dynamicNav=function(options){

//默认配置

var defaults = {

direction:"up", //动画切换方向,总共4种up 、down 、left 、right

duration:100 //三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)

};

// 覆盖默认配置

var opts = $.extend(defaults, options);

this.each(function(){

var navList=$(this).find("li"),

navLink=navList.find("a");

//在a标签外侧插入span

navList.wrapInner("span/span");

var span=navLink.parent();

//判断是否垂直切换

if(opts.direction=="up" || opts.direction=="down"){

var v=true;

}

//判断是否改变span初始位置及a样式

if(opts.direction=="right" || opts.direction=="down"){

var restSpan=true;

}

navLink.each(function(){

//获取a高度和宽度

var w=$(this).outerWidth(),

p=$(this).parent();

//初始复制现有a标签

$(this).clone().appendTo(p).addClass("over");

//如果是垂直切换

if(v){

p.css("width",w);

}else{

p.css("width",2*w).parent().css("width",w);

}

});

//如果向右或向下切换,改变span初始位置及a样式

if(restSpan){

span.each(function(){

if(opts.direction=="right"){

$(this).css({"margin-left":-$(this).outerWidth()/2});

}

if(opts.direction=="down"){

$(this).css({"margin-top" : -$(this).outerHeight()/2});

}

$(this)

.find('a')

.last()

.removeClass("over")

.prev()

.addClass("over");

});

}

//鼠标经过时动画函数

function over(o){

o.animate(v?{"margin-top": -o.outerHeight()/2}:{"margin-left": -o.outerWidth()/2}, opts.duration);

}

//鼠标移开时动画函数

function out(o){

o.animate(v?{"margin-top":0}:{"margin-left": 0}, opts.duration);

}

//鼠标经过和离开

span.hover(function(){

restSpan ? out($(this)) : over($(this));

},function(){

restSpan ? over($(this)) : out($(this));

});

});

};

})(jQuery);

$(function(){

//向左

$("#nav1").dynamicNav({

direction:"left", //动画切换方向,总共4种up 、down 、left 、right

duration:300 //三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)

});

//向右

$("#nav2").dynamicNav({

direction:"right",

duration:200

});

//向上

$("#nav3").dynamicNav({

direction:"up",

duration:100

});

//向下

$("#nav4").dynamicNav({

direction:"down",

duration:400

});

});

/script

/head

body

h1向左(速度300毫秒)/h1

ul class="nav" id="nav1"

lia href=""首页/a/li

lia href=""前端技术/a/li

lia href=""视觉设计/a/li

lia href=""文章归档/a/li

lia href=""工具/书籍/a/li

lia href=""关于我/a/li

/ul

h1向右(速度200毫秒)/h1

ul class="nav" id="nav2"

lia href=""首页/a/li

lia href=""前端技术/a/li

lia href=""视觉设计/a/li

lia href=""文章归档/a/li

lia href=""工具/书籍/a/li

lia href=""关于我/a/li

/ul

h1向上(速度100毫秒)/h1

ul class="nav" id="nav3"

lia href=""首页/a/li

lia href=""前端技术/a/li

lia href=""视觉设计/a/li

lia href=""文章归档/a/li

lia href=""工具/书籍/a/li

lia href=""关于我/a/li

/ul

h1向下(速度400毫秒)/h1

ul class="nav" id="nav4"

lia href=""首页/a/li

lia href=""前端技术/a/li

lia href=""视觉设计/a/li

lia href=""文章归档/a/li

lia href=""工具/书籍/a/li

lia href=""关于我/a/li

/ul

/body

/html

如何实现JS动态修改css全局样式

用css样式相关的接口 stylesheet.insertRule或者stylesheet.addRule 这两个都可以动态插入css样式 兼容性还可以 ie9+

比如

myStyle.insertRule("#blanc { color: white }", 0);

需要删除的时候还有deleteRule和removeRule两个方法

js动态修改bootstrap的css样式,无效 ?

你js动态修改是成功了的;点击是增加了bg-color类的。但是

bootstrap里的导航点击颜色是

.navlia:focus, .navlia:hover{}这个;

你写的是加在上级li上面的。li下面的a点击是有颜色所以覆盖掉了。

解决方法1;

把.navlia:focus, .navlia:hover{background-color:none}去掉默认点击设置的颜色。

或者直接修改 .navlia:focus, .navlia:hover{background-color:这里设置颜色},不需要点击增加类。

2、把点击增加类的时间添加到a上面;然后设置 .navlia.bg-color:hover{}

关于js中利用DOM动态改变CSS样式,请大神提供代码

代码如下:

!DOCTYPE html

html

head

meta charset="UTF-8"

titleTest/title

script src="" type="text/javascript" charset="utf-8"/script

style

*{

/*margin: 0px;

padding: 0px;*/

}

.test1{

width: 100%;

height: 22px;

line-height: 22px;

border: 2px solid #ccc;

}

/style

/head

body

div class="test1"公告内容/div

br /

button class="changestyle"更改样式/button

script

$(function(){

$(".changestyle").off("click").on("click",function(){

$(".test1").css({

"font-size":"16px",

"font-weight":"bold",

"border":"2px solid blue",

"width":"200px",

"height":"100px",

"text-align":"center",

"line-height":"100px",

"color":"red"

});

});

});

/script

/body

/html

望采纳!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。