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 相关文章推荐
基于jquery.Jcrop的头像编辑器
Mar 01 Javascript
JQuery的ajax获取数据后的处理总结(html,xml,json)
Jul 14 Javascript
jQuery最佳实践完整篇
Aug 20 Javascript
不使用浏览器运行javascript代码的方法
Jul 24 Javascript
bootstrap输入框组件使用方法详解
Jan 19 Javascript
最全的JavaScript开发工具列表 总有一款适合你
Jun 29 Javascript
React如何将组件渲染到指定DOM节点详解
Sep 08 Javascript
layer实现关闭弹出层刷新父界面功能详解
Nov 15 Javascript
Vue开发实现吸顶效果的示例代码
Aug 21 Javascript
JavaScript格式化json和xml的方法示例
Jan 22 Javascript
js数组中去除重复值的几种方法
Aug 03 Javascript
基于jquery实现彩色投票进度条代码解析
Aug 26 jQuery
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
使用Xdebug调试和优化PHP程序之[1]
2007/04/17 PHP
phpmyadmin 常用选项设置详解版
2010/03/07 PHP
PHP 5.3新特性命名空间规则解析及高级功能
2010/03/11 PHP
yii2-GridView在开发中常用的功能及技巧总结
2017/01/07 PHP
微信公众号OAuth2.0网页授权问题浅析
2017/01/21 PHP
通过修改Laravel Auth使用salt和password进行认证用户详解
2017/08/17 PHP
js下判断 iframe 是否加载完成的完美方法
2010/10/26 Javascript
js 针对html DOM元素操作等经验累积
2014/03/11 Javascript
Visual Studio中js调试的方法图解
2014/06/30 Javascript
实用框架(iframe)操作代码
2014/10/23 Javascript
Jquery为DIV添加click事件的简单实例
2016/06/02 Javascript
node.js实现快速截图
2016/08/27 Javascript
JS基于面向对象实现的多个倒计时器功能示例
2017/02/28 Javascript
在vue项目中使用Nprogress.js进度条的方法
2018/01/31 Javascript
VUE 组件转换为微信小程序组件的方法
2019/11/06 Javascript
python进阶教程之函数参数的多种传递方法
2014/08/30 Python
Python字符串替换实例分析
2015/05/11 Python
python开发之thread线程基础实例入门
2015/11/11 Python
Python爬虫爬验证码实现功能详解
2016/04/14 Python
Python列表删除的三种方法代码分享
2017/10/31 Python
基于python中的TCP及UDP(详解)
2017/11/06 Python
python实现Decorator模式实例代码
2018/02/09 Python
Django学习教程之静态文件的调用详解
2018/05/08 Python
使用pandas对两个dataframe进行join的实例
2018/06/08 Python
Python基础之条件控制操作示例【if语句】
2019/03/23 Python
Python 正则表达式爬虫使用案例解析
2019/09/23 Python
python cv2截取不规则区域图片实例
2019/12/21 Python
jupyter notebook读取/导出文件/图片实例
2020/04/16 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
2020/06/03 Python
详解java调用python的几种用法(看这篇就够了)
2020/12/10 Python
浅析CSS3 用text-overflow解决文字排版问题
2020/10/28 HTML / CSS
html5移动端自适应布局的实现
2020/04/15 HTML / CSS
Dr. Martens马汀博士法国官网:马丁靴鼻祖
2020/01/15 全球购物
TecoBuy澳大利亚:在线电子和小工具商店
2020/06/25 全球购物
医学毕业生自我鉴定
2013/10/30 职场文书
《威尼斯的小艇》教学反思
2014/02/17 职场文书