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 程序编码规范
Nov 23 Javascript
JSCode all of Brower 全局屏蔽网页右键功能 具体实现
Jun 05 Javascript
使用js声明数组,对象在jsp页面中(获得ajax得到json数据)
Nov 05 Javascript
JQUERY简单按钮轮换选中效果实现方法
May 07 Javascript
jQuery实现立体式数字动态增加(animate方法)
Dec 21 Javascript
seajs模块压缩问题与解决方法实例分析
Oct 10 Javascript
JS函数内部属性之arguments和this实例解析
Oct 07 Javascript
vue环形进度条组件实例应用
Oct 10 Javascript
详解Vue2.5+迁移至Typescript指南
Aug 01 Javascript
js实现图片粘贴到网页
Dec 06 Javascript
Vue实现点击当前行变色
Dec 14 Vue.js
vue项目配置sass及引入外部scss文件
Apr 14 Vue.js
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实现定时生成HTML网站首页实例代码
2008/11/20 PHP
php检测文件编码的方法示例
2014/04/25 PHP
修改PHP脚本使WordPress拦截垃圾评论的方法示例
2015/12/10 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
2018/06/04 PHP
location.href 在IE6中不跳转的解决方法与推荐使用代码
2010/07/08 Javascript
jQuery)扩展jQuery系列之一 模拟alert,confirm(一)
2010/12/04 Javascript
jquery 图片缩放拖动的简单实例
2014/01/08 Javascript
jQuery实现可编辑的表格实例讲解(2)
2015/09/17 Javascript
jquery实现表格隔行换色效果
2015/11/19 Javascript
ionic实现带字的toggle滑动组件
2016/08/27 Javascript
nodejs开发微信小程序实现密码加密
2017/07/11 NodeJs
微信小程序三级联动地址选择器的实例代码
2017/07/12 Javascript
vuejs项目打包之后的首屏加载优化及打包之后出现的问题
2018/04/01 Javascript
15个顶级开源JavaScript框架和库
2018/10/10 Javascript
vue拖拽组件使用方法详解
2018/12/01 Javascript
Vue中Table组件Select的勾选和取消勾选事件详解
2019/03/19 Javascript
Vue项目中Api的组织和返回数据处理的操作
2019/11/04 Javascript
JS图片预加载三种实现方法解析
2020/05/08 Javascript
5个你不知道的JavaScript字符串处理库(小结)
2020/06/01 Javascript
Python实现按特定格式对文件进行读写的方法示例
2017/11/30 Python
Python读取Excel表格,并同时画折线图和柱状图的方法
2018/10/14 Python
opencv与numpy的图像基本操作
2019/03/08 Python
Python面向对象之类的封装操作示例
2019/06/08 Python
Python实现RGB与HSI颜色空间的互换方式
2019/11/27 Python
pytorch 指定gpu训练与多gpu并行训练示例
2019/12/31 Python
Python实现名片管理系统
2020/02/14 Python
Python如何使用PIL Image制作GIF图片
2020/05/16 Python
Python虚拟环境venv用法详解
2020/05/25 Python
openCV提取图像中的矩形区域
2020/07/21 Python
Canvas 帧动画吃苹果小游戏
2020/08/05 HTML / CSS
学术会议邀请函范文
2014/01/22 职场文书
倡议书范文
2014/04/16 职场文书
安全生产管理责任书
2014/04/16 职场文书
交通事故私了协议书
2014/04/16 职场文书
管理工程专业求职信
2014/08/10 职场文书
机关干部四风问题自我剖析及整改措施
2014/10/26 职场文书