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 进度条 实现代码
Jul 30 Javascript
jquery 图片轮换效果
Jul 29 Javascript
按钮JS复制文本框和表格的代码
Apr 01 Javascript
有关javascript的性能优化 (repaint和reflow)
Apr 12 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
Mar 09 Javascript
js实现Select头像选择实时预览代码
Aug 17 Javascript
jQuery实现响应鼠标背景变化的动态菜单效果代码
Aug 27 Javascript
Perl Substr()函数及函数的应用
Dec 16 Javascript
解析javascript图片懒加载与预加载的分析总结
Oct 27 Javascript
Bootstrap弹出框modal上层的输入框不能获得焦点问题的解决方法
Dec 13 Javascript
js仿淘宝评价评分功能
Feb 28 Javascript
微信小程序中post方法与get方法的封装
Sep 26 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
php Smarty date_format [格式化时间日期]
2010/03/15 PHP
php将数据库中所有内容生成静态html文档的代码
2010/04/12 PHP
php绘制一个矩形的方法
2015/01/24 PHP
php使用parse_url和parse_str解析URL
2015/02/22 PHP
Laravel框架文件上传功能实现方法示例
2019/04/16 PHP
excel操作之Add Data to a Spreadsheet Cell
2007/06/12 Javascript
用javascript实现在小方框中浏览大图的代码
2007/08/14 Javascript
javascript 短路法代码精简
2009/08/20 Javascript
一些技巧性实用js代码小结
2009/10/14 Javascript
jQuery中对节点进行操作的相关介绍
2013/04/16 Javascript
使用javascript实现判断当前浏览器
2015/04/14 Javascript
原生javascript实现addClass,removeClass,hasClass函数
2016/02/25 Javascript
第七篇Bootstrap表单布局实例代码详解(三种表单布局)
2016/06/21 Javascript
javascript 判断页面访问方式电脑或者移动端
2016/09/19 Javascript
bootstrap css样式之表单
2017/01/19 Javascript
用js屏蔽被http劫持的浮动广告实现方法
2017/08/10 Javascript
js限制输入框只能输入数字(onkeyup触发)
2018/09/28 Javascript
详解vue2.6插槽更新v-slot用法总结
2019/03/09 Javascript
Vue3项目打包后部署到服务器 请求不到后台接口解决方法
2020/02/06 Javascript
深入理解Python装饰器
2016/07/27 Python
简单实现python数独游戏
2018/03/30 Python
python实现梯度下降算法
2020/03/24 Python
简单了解django orm中介模型
2019/07/30 Python
Python super()方法原理详解
2020/03/31 Python
pycharm 添加解释器的方法步骤
2020/08/31 Python
python判断字符串以什么结尾的实例方法
2020/09/18 Python
英语专业推荐信
2013/11/16 职场文书
数据员岗位职责
2013/11/19 职场文书
建筑工程管理专业自荐信范文
2013/12/28 职场文书
食品采购员岗位职责
2014/04/14 职场文书
新闻学专业求职信
2014/07/28 职场文书
单位工作证明格式模板
2014/10/04 职场文书
初婚初育证明范本
2014/11/24 职场文书
2015年学校财务工作总结
2015/05/19 职场文书
工作年限证明模板
2015/06/15 职场文书