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 相关文章推荐
让div层随鼠标移动的实现代码 ie ff
Dec 18 Javascript
js实现按钮加背景图片常用方法
Nov 01 Javascript
Bootstrap进度条组件知识详解
May 01 Javascript
JavaScript实现滑动导航栏效果
Aug 30 Javascript
JS实现的JSON数组去重算法示例
Apr 11 Javascript
使用wxapp-img-loader自定义组件实现微信小程序图片预加载功能
Oct 18 Javascript
在Vant的基础上实现添加表单验证框架的方法示例
Dec 05 Javascript
javascript使用链接跨域下载图片
Nov 01 Javascript
vue element-ui读取pdf文件的方法
Nov 26 Javascript
jQuery实现简单评论功能
Aug 19 jQuery
js删除指定位置超链接中含有百度与360的标题
Jan 06 Javascript
JavaScript组合继承详解
Nov 07 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
php面向对象全攻略 (八)重载新的方法
2009/09/30 PHP
不重新编译PHP为php增加openssl模块的方法
2011/06/14 PHP
国外PHP程序员的13个好习惯小结
2012/02/20 PHP
php生成txt文件标题及内容的方法
2014/01/16 PHP
原生Ajax 和jQuery Ajax的区别示例分析
2014/12/17 Javascript
js点击列表文字对应该行显示背景颜色的实现代码
2015/08/05 Javascript
javascript 广告移动特效的实现代码
2016/06/25 Javascript
深入理解jQuery3.0的domManip函数
2016/09/01 Javascript
JavaScript和JQuery获取DIV值的方法示例
2017/03/07 Javascript
js如何获取网页所有图片
2017/05/12 Javascript
vue 实现单选框设置默认选中值
2019/11/07 Javascript
js实现登录时记住密码的方法分析
2020/04/05 Javascript
jQuery实现简单三级联动效果
2020/09/05 jQuery
[01:03:41]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第一场 12.17
2020/12/19 DOTA
[07:01]DOTA2-DPC中国联赛正赛 Aster vs Magma 3月5日 赛后选手采访
2021/03/11 DOTA
使用Python的Django框架实现事务交易管理的教程
2015/04/20 Python
Python编程中用close()方法关闭文件的教程
2015/05/24 Python
python使用os.listdir和os.walk获得文件的路径的方法
2017/12/16 Python
python 寻找离散序列极值点的方法
2019/07/10 Python
Python+OpenCV实现实时眼动追踪的示例代码
2019/11/11 Python
详解Python实现进度条的4种方式
2020/01/15 Python
python正则表达式re.match()匹配多个字符方法的实现
2021/01/27 Python
台湾菁英交友:结识黄金单身的台湾人
2018/01/22 全球购物
吉列剃须刀美国官网:Gillette美国
2018/07/13 全球购物
巴西宠物商店:Cobasi
2019/04/19 全球购物
公司财务工作总结的自我评价
2013/11/23 职场文书
学校大课间活动方案
2014/01/30 职场文书
预备党员政审材料
2014/02/04 职场文书
英文推荐信格式范文
2014/05/09 职场文书
论群众路线学习笔记
2014/11/06 职场文书
2014年幼儿园学期工作总结
2014/12/05 职场文书
辞职信格式模板
2015/02/27 职场文书
4S店收银员岗位职责
2015/04/07 职场文书
中秋节晚会开场白
2015/05/29 职场文书
追悼词范文大全
2015/06/23 职场文书
Python进程间的通信之语法学习
2022/04/11 Python