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的DIV随滚动条滚动而滚动的代码
Jul 20 Javascript
jquery重新播放css动画所遇问题解决
Aug 21 Javascript
js将字符串转成正则表达式的实现方法
Nov 13 Javascript
JS验证邮箱格式是否正确的代码
Dec 05 Javascript
Jquery 实现弹出层插件
Jan 28 Javascript
js获取数组的最后一个元素
Apr 14 Javascript
JS实现常见的TAB、弹出层效果(TAB标签,斑马线,遮罩层等)
Oct 08 Javascript
vue-cli webpack模板项目搭建及打包时路径问题的解决方法
Feb 26 Javascript
angularjs中判断ng-repeat是否迭代完的实例
Sep 12 Javascript
laydate时间日历插件使用方法详解
Nov 14 Javascript
nest.js 使用express需要提供多个静态目录的操作方法
Oct 24 Javascript
微信小程序自定义modal弹窗组件的方法详解
Dec 20 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 图像处理类1
2009/06/15 PHP
c#中的实现php中的preg_replace
2009/12/21 PHP
利用PHP函数计算中英文字符串长度的方法
2014/11/11 PHP
php计算title标题相似比的方法
2015/07/29 PHP
php.ini中date.timezone设置详解
2016/11/20 PHP
详解PHP队列的实现
2019/03/14 PHP
基于jquery的tab切换 js原理
2010/04/01 Javascript
url 编码 js url传参中文乱码解决方案
2010/04/11 Javascript
Javascript匿名函数的一种应用 代码封装
2010/06/27 Javascript
浅谈Javascript事件模拟
2012/06/27 Javascript
jqgrid 表格数据导出实例
2013/11/21 Javascript
14款NodeJS Web框架推荐
2014/07/11 NodeJs
jquery通过closest选择器修改上级元素的方法
2015/03/17 Javascript
JavaScript用select实现日期控件
2015/07/17 Javascript
基于jquery实现省市联动效果
2015/11/23 Javascript
JavaScript简单实现弹出拖拽窗口(一)
2016/06/17 Javascript
JavaScript编写的网页小游戏,很给力
2017/08/18 Javascript
Vue中用props给data赋初始值遇到的问题解决
2018/11/27 Javascript
vue 使用element-ui中的Notification自定义按钮并实现关闭功能及如何处理多个通知
2019/08/17 Javascript
VUEX采坑之路之获取不到$store的解决方法
2019/11/08 Javascript
JavaScript使用canvas绘制随机验证码
2020/02/17 Javascript
[50:20]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第四局
2016/03/06 DOTA
pandas object格式转float64格式的方法
2018/04/10 Python
pandas值替换方法
2018/07/10 Python
Python监控服务器实用工具psutil使用解析
2019/12/19 Python
基于Python+QT的gui程序开发实现
2020/07/03 Python
Book Depository澳大利亚:世界领先的专业在线书店之一
2018/12/27 全球购物
沃达丰英国有限公司:Vodafone英国
2019/04/16 全球购物
校领导推荐信
2013/11/01 职场文书
大学生个人自荐信
2014/02/24 职场文书
莫言诺贝尔获奖演讲稿
2014/05/21 职场文书
学校师德师风自我剖析材料
2014/09/29 职场文书
2015年网管个人工作总结
2015/05/22 职场文书
甲午风云观后感
2015/06/02 职场文书
HAM-2000摩机图
2021/04/22 无线电
Win11如何查看显卡型号 Win11查看显卡型号的方法
2022/08/14 数码科技