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 相关文章推荐
Android中资源文件(非代码部分)的使用概览
Dec 18 Javascript
node.js+Ajax实现获取HTTP服务器返回数据
Nov 26 Javascript
jQuery中:has选择器用法实例
Dec 30 Javascript
JavaScript 学习笔记之语句
Jan 14 Javascript
实例详解ECMAScript5中新增的Array方法
Apr 05 Javascript
使用JavaScript实现ajax的实例代码
May 11 Javascript
js实现微博发布小功能
Jan 12 Javascript
为Jquery EasyUI 组件加上清除功能的方法(详解)
Apr 13 jQuery
JavaScrpt的面向对象全面解析
May 09 Javascript
Flask中获取小程序Request数据的两种方法
May 12 Javascript
vue路由插件之vue-route
Jun 13 Javascript
从零撸一个pc端vue的ui组件库( 计数器组件 )
Aug 08 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中json_encode中文编码问题分析
2011/09/13 PHP
php中is_null,empty,isset,unset 的区别详细介绍
2013/04/28 PHP
PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
2014/06/19 PHP
Zend Framework教程之Zend_Db_Table用法详解
2016/03/21 PHP
PHP实现百度人脸识别
2019/05/06 PHP
jQuery文本框(input textare)事件绑定方法教程
2013/04/24 Javascript
自己动手手写jQuery插件总结
2015/01/20 Javascript
详解Angular CLI + Electron 开发环境搭建
2017/07/20 Javascript
基于Bootstrap table组件实现多层表头的实例代码
2017/09/07 Javascript
JS笛卡尔积算法与多重数组笛卡尔积实现方法示例
2017/12/01 Javascript
微信小程序App生命周期详解
2018/01/31 Javascript
javascript canvas时钟模拟器
2020/07/13 Javascript
[03:48]显微镜下的DOTA2第四期——TP动作
2014/06/20 DOTA
Python处理RSS、ATOM模块FEEDPARSER介绍
2015/02/18 Python
python根据时间生成mongodb的ObjectId的方法
2015/03/13 Python
理解Python中的类与实例
2015/04/27 Python
浅谈Python的异常处理
2016/06/19 Python
详解Python如何获取列表(List)的中位数
2016/08/12 Python
Python实现自动登录百度空间的方法
2017/06/10 Python
python监控进程脚本
2018/04/12 Python
Python学习小技巧总结
2018/06/10 Python
Python利用itchat库向好友或者公众号发消息的实例
2019/02/21 Python
澳大利亚礼品卡商店:Gift Card Store
2019/06/24 全球购物
澳大利亚最早和最古老的巨型游戏专家:Yardgames
2020/02/20 全球购物
比较基础的php面试题及答案-编程题
2012/10/14 面试题
门诊挂号室室长岗位职责
2013/11/27 职场文书
共产党员公开承诺书
2014/03/25 职场文书
《火烧云》教学反思
2014/04/12 职场文书
计算机专业自荐信
2014/05/24 职场文书
财政专业大学生职业生涯规划书
2014/09/17 职场文书
2014年国庆节寄语
2014/09/19 职场文书
员工升职自荐信
2015/03/27 职场文书
党课主持词大全
2015/06/30 职场文书
学校安全管理制度
2015/08/06 职场文书
Python快速优雅的批量修改Word文档样式
2021/05/20 Python
如何更改Win11声音输出设备?Win11声音输出设备四种更改方法
2022/04/08 数码科技