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 学习笔记一
Apr 07 Javascript
浅谈Javascript 执行顺序
Dec 18 Javascript
jQuery切换网页皮肤并保存到Cookie示例代码
Jun 16 Javascript
ajax+jQuery实现级联显示地址的方法
May 06 Javascript
Javascript中的作用域和上下文深入理解
Jul 03 Javascript
使用jQuery的ajax方法向服务器发出get和post请求的方法
Jan 13 Javascript
Vue关于数据绑定出错解决办法
May 15 Javascript
微信提示 在浏览器打开 效果实现过程解析
Sep 10 Javascript
vue改变循环遍历后的数据实例
Nov 07 Javascript
详解小程序如何动态绑定点击的执行方法
Nov 26 Javascript
vue实现点击按钮“查看详情”弹窗展示详情列表操作
Sep 09 Javascript
js 实现Material UI点击涟漪效果示例
Sep 23 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
做个自己站内搜索引擎
2006/10/09 PHP
php Rename 更改文件、文件夹名称
2011/05/24 PHP
php使用str_shuffle()函数生成随机字符串的方法分析
2017/02/17 PHP
PHP 数组操作详解【遍历、指针、函数等】
2020/05/13 PHP
javascript读取RSS数据
2007/01/20 Javascript
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
2011/02/25 Javascript
遨游,飞飞,IE,空中网 浏览器无提示关闭方法
2011/07/11 Javascript
js运动框架_包括图片的淡入淡出效果
2013/05/11 Javascript
jquery三个关闭弹出层的小示例
2013/11/05 Javascript
javascript实现动态模态绑定grid过程代码
2014/09/22 Javascript
推荐JavaScript实现继承的最佳方式
2014/11/11 Javascript
javascript实现点击按钮让DIV层弹性移动的方法
2015/02/24 Javascript
javascript实现俄罗斯方块游戏的思路和方法
2015/04/27 Javascript
jquery.mousewheel实现整屏翻屏效果
2015/08/30 Javascript
Angular使用$http.jsonp发送跨站请求的方法
2017/03/16 Javascript
javascript实现数字配对游戏的实例讲解
2017/12/14 Javascript
JS中的事件委托实例浅析
2018/03/22 Javascript
jQuery实现checkbox全选功能完整实例
2018/07/12 jQuery
JS实现的检验身份证格式并输出出生日期,年龄,性别,出生地示例
2019/05/17 Javascript
js打开word文档预览操作示例【不是下载】
2019/05/23 Javascript
JS中的算法与数据结构之集合(Set)实例详解
2019/08/20 Javascript
Vue中消息横向滚动时setInterval清不掉的问题及解决方法
2019/08/23 Javascript
详解Vue 项目中的几个实用组件(ts)
2019/10/29 Javascript
vue-cli3 热更新配置操作
2020/09/18 Javascript
用map函数来完成Python并行任务的简单示例
2015/04/02 Python
python编程通过蒙特卡洛法计算定积分详解
2017/12/13 Python
使用python实现链表操作
2018/01/26 Python
Python中 传递值 和 传递引用 的区别解析
2018/02/22 Python
python实现五子棋人机对战游戏
2020/03/25 Python
英国高档百货连锁店:John Lewis
2017/11/20 全球购物
乌克兰香水和化妆品网站:Notino.ua
2018/03/26 全球购物
亿企通软件测试面试题
2012/04/10 面试题
《赠汪伦》教学反思
2014/04/12 职场文书
研发工程师岗位职责
2014/04/28 职场文书
使用compose函数优化代码提高可读性及扩展性
2022/06/16 Javascript