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高级程序设计阅读笔记(六) ECMAScript中的运算符(二)
Feb 27 Javascript
JS 获取滚动条高度示例代码
Oct 24 Javascript
用jquery实现的一个超级简单的下拉菜单
May 18 Javascript
3个可以改善用户体验的AngularJS指令介绍
Jun 18 Javascript
JS+CSS实现简易的滑动门效果代码
Sep 24 Javascript
再次谈论React.js实现原生js拖拽效果引起的一系列问题
Apr 03 Javascript
js添加事件的通用方法推荐
May 15 Javascript
node.js express安装及示例网站搭建方法(分享)
Aug 22 Javascript
基于JavaScript实现活动倒计时效果
Apr 20 Javascript
微信小程序 实现动态显示和隐藏某个控件
Apr 27 Javascript
vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
Aug 04 Javascript
VUE : vue-cli中去掉路由中的井号#操作
Sep 04 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
解析mysql 表中的碎片产生原因以及清理
2013/06/22 PHP
php二分查找二种实现示例
2014/03/12 PHP
yii操作session实例简介
2014/07/31 PHP
四个PHP非常实用的功能
2015/09/29 PHP
使用PHP实现微信摇一摇周边红包
2016/01/04 PHP
php实现通过soap调用.Net的WebService asmx文件
2017/02/27 PHP
PHP查找一列有序数组是否包含某值的方法
2020/02/07 PHP
javascript之AJAX框架使用说明
2010/04/24 Javascript
两个Javascript小tip资料
2010/11/23 Javascript
table对象中的insertRow与deleteRow使用示例
2014/01/26 Javascript
jQuery学习笔记之Ajax用法实例详解
2015/12/01 Javascript
一个用jquery写的判断div滚动条到底部的方法【推荐】
2016/04/29 Javascript
iscroll-probe实现下拉刷新和下拉加载效果
2017/06/28 Javascript
jQuery制作input提示内容(兼容IE8以上)
2017/07/05 jQuery
vue实现登录后页面跳转到之前页面
2018/01/07 Javascript
浅析JS中什么是自定义react数据验证组件
2018/10/19 Javascript
ES6基础之展开语法(Spread syntax)
2019/02/21 Javascript
js键盘事件实现人物的行走
2020/01/17 Javascript
如何使用vue slot创建一个模态框的实例代码
2020/05/24 Javascript
js实现简单商品筛选功能
2021/02/02 Javascript
[46:55]完美世界DOTA2联赛决赛 FTD vs Phoenix 第三场 11.08
2020/11/11 DOTA
Python去掉字符串中空格的方法
2014/03/11 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
2018/10/14 Python
python3使用matplotlib绘制散点图
2019/03/19 Python
Python3安装psycopy2以及遇到问题解决方法
2019/07/03 Python
Django中使用CORS实现跨域请求过程解析
2019/08/05 Python
深深扎根运动世界的生活品牌:Tillys
2017/10/30 全球购物
英国Flybe航空官网:欧洲最大的独立支线廉价航空公司
2019/07/15 全球购物
美国新娘礼品店:The Paisley Box
2020/09/08 全球购物
教师党员个人整改措施材料
2014/09/16 职场文书
2014年服务行业工作总结
2014/11/18 职场文书
2014年大学学生会工作总结
2014/12/02 职场文书
学前班学生评语
2014/12/29 职场文书
读《教育心理学》心得体会
2016/01/22 职场文书
2016年暑期社会实践活动总结报告
2016/04/06 职场文书
商业计划书之服装
2019/09/09 职场文书