页面引用了两个样式表:

<link href="css/mui.min.css" rel="stylesheet" />
<link href="css/new_menu.css" rel="stylesheet" />

//获取样式表对象
function getStyleSheet(){//获取样式表对象,此处为new_menu.css样式文件var styleSheets = document.styleSheets;for(var i=0; i<styleSheets.length;i++){var sheet=styleSheets[i];//console.log(sheet.href);if(sheet.href==undefined || sheet.href==null){continue;}if(sheet.href.indexOf('new_menu')>0){styleSheet=sheet;//console.log(i);break;}}//console.log(styleSheet);
}

for(var item in rule){ console.log(item);}输出样式规则对象属性cssRules at new_touchMove.html:204name at new_touchMove.html:204parentRule at new_touchMove.html:204parentStyleSheet at new_touchMove.html:204cssText at new_touchMove.html:204type at new_touchMove.html:204insertRule at new_touchMove.html:204deleteRule at new_touchMove.html:204findRule at new_touchMove.html:204UNKNOWN_RULE at new_touchMove.html:204STYLE_RULE at new_touchMove.html:204CHARSET_RULE at new_touchMove.html:204IMPORT_RULE at new_touchMove.html:204MEDIA_RULE at new_touchMove.html:204FONT_FACE_RULE at new_touchMove.html:204PAGE_RULE at new_touchMove.html:204WEBKIT_KEYFRAMES_RULE at new_touchMove.html:204WEBKIT_KEYFRAME_RULE at new_touchMove.html:204SUPPORTS_RULE at new_touchMove.html:204WEBKIT_FILTER_RULE at new_touchMove.html:204HOST_RULE at new_touchMove.html:204

//动态创建css规则
function createRule(menuCss,i,x,y,offsetX,offsetY,cssIndex){var offset_x=x-offsetX;var offset_y=y-offsetY;var btn ='.btn'+i;var btnCss='left: '+offset_x+'px; top: '+offset_y+'px; animation: btn'+i+' 300ms;-webkit-animation: btn'+i+' 300ms;-moz-animation: btn'+i+' 300ms;-o-animation: btn'+i+' 300ms;';menuCss.insertRule(btn+'{'+btnCss+'}',cssIndex);var webkitKeyframes ='@-webkit-keyframes btn'+i;var webkitKeyframesCss='0%{ left: '+x+'px; top: '+y+'px; } 100%{ left: '+offset_x+'px; top: '+offset_y+'px;}';menuCss.insertRule(webkitKeyframes+'{'+webkitKeyframesCss+'}',cssIndex+1);var keyFrames ='@keyframes btn'+i;var keyFramesCss='0%{ left: '+x+'px; top: '+y+'px; } 100%{ left: '+offset_x+'px; top: '+offset_y+'px;}';menuCss.insertRule(keyFrames+'{'+keyFramesCss+'}',cssIndex+2);var mozKeyframes ='@-moz-keyframes btn'+i;var mozKeyframesCss='0%{ left: '+x+'px; top: '+y+'px; } 100%{ left: '+offset_x+'px; top: '+offset_y+'px;}';menuCss.insertRule(mozKeyframes+'{'+mozKeyframesCss+'}',cssIndex+3);
}

//删除css规则
function delRules(styleSheet){for(var i=21; i<styleSheet.cssRules.length; i++){var rule = styleSheet.cssRules[i];//rule.type == CSSRule.KEYFRAMES_RULE || rule.type == CSSRule.WEBKIT_KEYFRAMES_RULE || rule.type == CSSRule.MOZ_KEYFRAMES_RULEif(rule.type == 1 || rule.type == 7){ //根据规则索引删除规则
             styleSheet.deleteRule(i);}}
}

转载于:https://www.cnblogs.com/wgx0428/p/9199323.html

动态修改css 规则相关推荐

  1. SAP UI5 应用开发教程之三十六 - 使用 Chrome 开发者工具 Elements 标签动态修改 CSS 类试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

  2. javascript 动态修改css样式

    方法一:改变外联css文件,这里不讲这个. 方法二:通过改变claaName来改变样式,语法: obj.className = "style2";//或者 obj.setAttri ...

  3. asp.net 动态修改css样式,ASP.NET中直接用C# 动态修改CSS样式

    ASP.NET中直接用C#动态修改CSS样式 wonsoft(wonsoft@163.com) 使用JavaScript控制CSS样式有点麻烦,还是觉得直接使用C#操作更方便快捷,本文通过两个Butt ...

  4. jquery怎么动态修改css样式

    jquery动态修改css样式的方法:1.通过css方法动态修改css样式:2.给指定的html元素定一个CSS样式:3.查看元素的css样式:4.隐藏与显示p或指定的其他html元素. jquery ...

  5. javascript、jquery 动态修改css样式方法

    javascript.jquery 动态修改css样式方法 javascript 修改样式的方法 第一种.使用obj.className来修改样式表的类名 var obj = document.get ...

  6. javascript 动态修改css样式方法汇总(四种方法)

    在很多情况下,都需要对网页上元素的样式进行动态的修改.在JavaScript中提供几种方式动态的修改样式,下面将介绍方法的使用.效果.以及缺陷. 1.使用obj.className来修改样式表的类名. ...

  7. 微信小程序wxss---对应css样式(动态修改css样式)

    微信中wxss有些类似于scss,可以引用外联样式.但是不知道怎么继承css样式 下图是微信中动态绑定css样式,实现css样式的动态修改

  8. jq动态修改css样式表,jquery 动态改变css样式

    jquery 几乎成了现在开发WEB应用的标准JS库,这与其简单性和易用性是分不开的.作为一个后端开发人员,要做一些前端页面时,CSS 样式的控制是少不了需要掌握的.如果是静态的CSS,当然是可以直接 ...

  9. SAP UI5 应用开发教程之三十六 - 使用 Chrome 开发者工具 Elements 标签动态修改 CSS 类

    本教程的前面一系列步骤,我们或多或少已经使用了 Chrome 开发者工具来学习 SAP UI5 应用的开发,比如通过 Elements 标签页查看 SAP UI5 XML 视图里定义的控件,运行时生成 ...

最新文章

  1. QN8027性能调试
  2. Machine Learning from Start to Finish with Scikit-Learn
  3. Dubbo调用时报错Invalid token Forbid invoke remote service interface
  4. python random函数_详细代码实战讲解:如何用 Python让自己变成天选之子
  5. notification源码分析_Ceilometer之notification agent代码分析
  6. jinja Extends Blocks Include
  7. Java程序员不得不会的124道面试题(含答案)
  8. 《你的降落伞是什么颜色》
  9. Windows10家庭版彻底关闭HyperV
  10. 常用的关于表格的属性和函数
  11. 我用 Python 找出了删除我微信的所有人并将他们自动化删除了
  12. 文科生学计算机有前途吗,文科生学计算机专业难吗
  13. 前端如何实现黑夜模式
  14. 如何在火车票退票免手续费
  15. 用什么方法可以做到图片无损压缩
  16. SAP 各大常用模块汇总介绍(三) | 易拓科技
  17. websocket实现简易聊天室
  18. c/c++:线程同步(互斥锁、死锁、读写锁、条件变量、生产者和消费者模型、信号量)
  19. ArcGISEngine学习(1)
  20. 【躲不过的Java “锁事”】一文扫除对Java各种锁的困扰!

热门文章

  1. 爬虫404如何跳过_金秀贤、全智贤主演的韩剧来自星星的你你如何评价?
  2. JAVA打印变量类型
  3. Flask 区域块简单原理实现
  4. 在CentOS7上使用FastDFS搭建文件服务器
  5. 20世纪50年代开始,数字技术出现,数字计算机开始代替模拟计算机,我们从电气时代逐渐走到了信息时代,电脑重塑了社会的架构与价值。...
  6. linux添加回收站(脚本)
  7. Linux 关机/重启/注销命令(7个)
  8. Oracle数据库常用操作sql语句
  9. 《Windows服务器配置与管理》------磁盘管理
  10. ibatis Clob对象处理