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 关键字屏蔽实现函数
Aug 02 Javascript
JS控件ASP.NET的treeview控件全选或者取消(示例代码)
Dec 16 Javascript
jquery实现侧边弹出的垂直导航
Dec 09 Javascript
使用jQuery简单实现模拟浏览器搜索功能
Dec 21 Javascript
javascript实现点击按钮让DIV层弹性移动的方法
Feb 24 Javascript
jQuery树形下拉菜单特效代码分享
Aug 15 Javascript
jquery+正则实现统一的表单验证
Sep 20 Javascript
Bootstrap CSS布局之表格
Dec 17 Javascript
Vue.js 的移动端组件库mint-ui实现无限滚动加载更多的方法
Dec 23 Javascript
微信小程序自定义toast弹窗效果的实现代码
Nov 15 Javascript
vue 实现锚点功能操作
Aug 10 Javascript
Antd的table组件表格的序号自增操作
Oct 27 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 上一篇,下一篇文章实现代码与原理说明
2010/05/09 PHP
PHP提示Cannot modify header information - headers already sent by解决方法
2014/09/22 PHP
仿dedecms下拉分页样式修改的thinkphp分页类实例
2014/10/30 PHP
PHP的mysqli_ssl_set()函数讲解
2019/01/23 PHP
PHP安装BCMath扩展的方法
2019/02/13 PHP
jQuery UI Autocomplete 1.8.16 中文输入修正代码
2012/04/16 Javascript
js中style.display=&quot;&quot;无效的解决方法
2014/10/30 Javascript
JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍
2016/11/10 Javascript
AngularJs表单验证实例代码解析
2016/11/29 Javascript
JavaScript使用atan2来绘制箭头和曲线的实例
2017/09/14 Javascript
详解Vue中watch的高级用法
2018/05/02 Javascript
jQuery实现基本动画效果的方法详解
2018/09/06 jQuery
在移动端使用vue-router和keep-alive的方法示例
2018/12/02 Javascript
基于JavaScript实现单例模式
2019/10/30 Javascript
详解JavaScript修改注册表的方法
2020/01/05 Javascript
解决vue-cli@3.xx安装不成功的问题及搭建ts-vue项目
2020/02/09 Javascript
JavaScript 获取滚动条位置并将页面滑动到锚点
2021/02/08 Javascript
Python的函数的一些高阶特性
2015/04/27 Python
Python的time模块中的常用方法整理
2015/06/18 Python
python数据结构链表之单向链表(实例讲解)
2017/07/25 Python
Python脚本完成post接口测试的实例
2018/12/17 Python
Python利用matplotlib绘制约数个数统计图示例
2019/11/26 Python
python实现飞机大战游戏(pygame版)
2020/10/26 Python
用HTML5实现鼠标滚轮事件放大缩小图片的功能
2015/06/25 HTML / CSS
H5调用相机拍照并压缩图片的实例代码
2017/07/20 HTML / CSS
英国最大的在线快递公司之一:ParcelHero
2019/11/04 全球购物
Made in Design意大利:现代家具、名家灯具和装饰
2020/10/27 全球购物
盛大二次面试题
2016/11/18 面试题
Why do we need Unit test
2013/01/03 面试题
后勤人员自我鉴定
2013/10/20 职场文书
股东协议书
2014/04/14 职场文书
学生安全责任书范本
2014/07/24 职场文书
2015年入党积极分子培养考察意见
2015/08/12 职场文书
考研经验交流会策划书
2015/11/02 职场文书
Win11 BitLocker 驱动器加密
2022/04/19 数码科技
MySQL中dd::columns表结构转table过程及应用详解
2022/09/23 MySQL