十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
我估么着缺点就是吃饱了撑的,没事就别用js设置CSS,还有啊一般来说,修改少量CSS可以直接修改就是document.getElementById('id').style.color="#f00";大量修改是改变元素的class名称来实现的。
创新互联从2013年成立,是专业互联网技术服务公司,拥有项目网站制作、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元邹城做网站,已为上家服务,为邹城各地企业和个人服务,联系电话:18980820575
动态加载外部css样式及css样式,参考代码如下:
// 动态加载外部js文件
var flag = true;
if( flag ){
loadScript( "js/index.js" );
};
function loadScript( url ){
var script = document.createElement( "script" );
script.type = "type/javascipt";
script.src = url;
document.getElementsByTagName( "head" )[0].appendChild( script );
};
// 动态加载js
if( flag ){
var script = document.createElement( "script" );
script.type = "text/javascript";
script.text = " ";
document.getElementsByTagName( "head" )[0].appendChild( script );
};
// 动态加载外部css样式
if( flag ){
loadCss( "css/base.css" );
};
function loadCss( url ){
var link = document.createElement( "link" );
link.type = "text/css";
link.rel = "stylesheet";
link.href = url;
document.getElementsByTagName( "head" )[0].appendChild( link );
};
// 动态加载css样式
if( flag ){
var style = document.createElement( "style" );
style.type = "text/css";
document.getElementsByTagName( "head" )[0].appendChild( style );
var sheet = document.styleSheets[0];
insertRules( sheet,"#gaga1","background:#f00",0 );
};
function insertRules( sheet,selectorTxt,cssTxt,position ){
if( sheet.insertRule ){ // 判断非IE浏览器
sheet.insertRule( selectorTxt + "{" + cssTxt +"}" ,position );
}else if( sheet.addRule ){ //判断是否是IE浏览器
sheet.addRule( selectorTxt ,cssTxt ,position )
}
}
你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{}
说说原理,这里并不是纯css3,,只是用css3定义好动画,
@-moz-keyframes tips {
0% {box-shadow: 0px 0px 0px #f00;}
25% {box-shadow: 0px 0px 8px #f00;}
50% {box-shadow: 0px 0px 0px #f00;}
100% {box-shadow: 0px 0px 8px #f00;}
}
然后,js在切屏后,用Js来触发这一个样式,这个样式调用了刚才定义的动画。
.tips {
-webkit-animation:tips 1s;
-moz-animation:tips 1s ;
}
当然css3是可以做的,只是用纯css3,就没办法像这样可以拖动切屏,这个是需要js或者jq来完成。。。