JS批量操作CSS属性详细解析


Posted in Javascript onDecember 16, 2013
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <style type="text/css">
        .day
        {
         background-color:White;
        }
        .night
        {
         background-color:Black
        }
    </style>
    <script language="javascript" type="text/javascript">
        function operStyle() {
            var divObj = document.getElementById("divContent");
            var btnObj = document.getElementById("btnCommit");
            if (divObj.className == "day") {
                divObj.className = "night";
                btnObj.value = "开灯";
            } else {
            divObj.className = "day";
            btnObj.value = "关灯";
            }
        }
        //批量修改div的样式属性,由多种样式构成
        //方法1:
        function methodOne() {
            var divObj = document.getElementById("divTest");
            divObj.style.backgroundColor = "blue";
            divObj.style.border = "solid 1px red";
            divObj.style.width = "300px";
            divObj.style.height = "200px";
            divObj.style.backgroundPosition = "center";
        }
        //方法2:
        function methodTwo() {
            var divObj = document.getElementById("divTest");
            divObj.style.cssText = "background-color:Blue; border:solid 1px red; width:300px; height:200px; background-position:center";
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div id="divContent" class="day">
       <font color="red">我是一个div啊,咿呀咿呀呦!</font>
    </div>
    <input type="button" value="关灯" id="btnCommit" onclick="operStyle();" />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <br />
    <hr />
    <h1>修改divTest的样式,多属性操作</h1>
    <div id="divTest" >
        <font color="red">修改divTest的样式</font>
    </div>
    <input type="button" value="修改divTest的样式" onclick="methodTwo()" />
    </form>
</body>
</html>

我们用js书写css样式通常会用下面的两种方式:

一般情况下我们用js设置元素对象的样式会使用这样的形式:
复制代码 代码如下:
var element= document.getElementById(”id”);
element.style.width=”20px”;
element.style.height=”20px”;
element.style.border=”solid 1px red”;

但是上面的方法有一个缺点,样式一多,代码就很多;而且通过JS来覆写对象的样式是比较典型的一种销毁原样式并重建的过程,这种销毁和重建,都会增加浏览器的开销。

js中有一个cssText的方法:
语法为:obj.style.cssText(”样式”);
上面的代码我们可以修改成:
复制代码 代码如下:
element.style.cssText=”width:20px;height:20px;border:solid 1px red;”;

这种写法可以尽量避免页面的多次reflow,提高页面性能。

Javascript 相关文章推荐
javascript中substr,substring,slice.splice的区别说明
Nov 25 Javascript
JavaScript的document对象和window对象详解
Dec 30 Javascript
js怎么判断flash swf文件是否加载完毕
Aug 14 Javascript
BootStrap Progressbar 实现大文件上传的进度条的实例代码
Jun 27 Javascript
jQuery制作圣诞主题页面 更像是爱情影集
Aug 10 Javascript
微信小程序 数据访问实例详解
Oct 08 Javascript
Vue.js 递归组件实现树形菜单(实例分享)
Dec 21 Javascript
工作中常用的js、jquery自定义扩展函数代码片段汇总
Dec 22 Javascript
jQuery窗口拖动功能的实现代码
Feb 04 Javascript
基于vue手写tree插件的那点事儿
Aug 20 Javascript
Node.JS用纯JavaScript生成图片或滑块式验证码功能
Sep 12 Javascript
vue实现简单计算商品价格
Sep 14 Javascript
js鼠标及对象坐标控制属性详细解析
Dec 14 #Javascript
JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)
Dec 14 #Javascript
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
Dec 14 #Javascript
js获取url中指定参数值的示例代码
Dec 14 #Javascript
Js实现双击鼠标自动滚动屏幕的示例代码
Dec 14 #Javascript
鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)
Dec 14 #Javascript
js键盘上下左右键怎么触发function(实例讲解)
Dec 14 #Javascript
You might like
一个域名查询的程序
2006/10/09 PHP
smarty静态实验表明,网络上是错的~呵呵
2006/11/25 PHP
phpExcel导出大量数据出现内存溢出错误的解决方法
2013/02/28 PHP
php版淘宝网查询商品接口代码示例
2014/06/17 PHP
Win7下手动安装apache2.2、php5.4笔记
2015/04/03 PHP
php将一维数组转换为每3个连续值组成的二维数组
2016/05/06 PHP
php获取网站根目录物理路径的几种方法(推荐)
2017/03/04 PHP
向fckeditor编辑器插入指定代码的方法
2007/05/25 Javascript
33种Javascript 表格排序控件收集
2009/12/03 Javascript
Jquery 获取checkbox的checked问题
2011/11/16 Javascript
js Array对象的扩展函数代码
2013/04/24 Javascript
Ajax+FormData+javascript实现无刷新表单信息提交
2016/10/24 Javascript
JavaScript中object和Object的区别(详解)
2017/02/27 Javascript
vue + socket.io实现一个简易聊天室示例代码
2017/03/06 Javascript
JS实现css hover操作的方法示例
2017/04/07 Javascript
纯JS实现的读取excel文件内容功能示例【支持所有浏览器】
2018/06/23 Javascript
Vue-router 切换组件页面时进入进出动画方法
2018/09/01 Javascript
微信小程序引入VANT组件的方法步骤
2019/09/19 Javascript
p5.js临摹动态图形的方法
2019/10/23 Javascript
JS性能优化实现方法及优点进行
2020/08/30 Javascript
Python的多维空数组赋值方法
2018/04/13 Python
Python目录和文件处理总结详解
2019/09/02 Python
利用python中的matplotlib打印混淆矩阵实例
2020/06/16 Python
python编写实现抽奖器
2020/09/10 Python
详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强
2020/11/17 Python
详解Canvas 实现炫丽的粒子运动效果(粒子生成文字)
2018/02/01 HTML / CSS
HTML5 embed标签定义和用法详解
2014/05/09 HTML / CSS
AmazeUI图片轮播效果的示例代码
2020/08/20 HTML / CSS
琳达·法罗眼镜英国官网:Linda Farrow英国
2021/01/19 全球购物
如何在Cookie里面保存Unicode和国际化字符
2013/05/25 面试题
公务员党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
合作合同协议书范本
2015/01/27 职场文书
西游记读书笔记
2015/06/25 职场文书
2016年教育局“我们的节日——端午节”主题活动总结
2016/04/01 职场文书
Pytorch中TensorBoard及torchsummary的使用详解
2021/05/12 Python
Spring依赖注入多种类型数据的示例代码
2022/03/31 Java/Android