• js改变css样式


    CreateTime--2017年10月31日15:14:12

    Author:Marydon

    js改变css样式

    1.js改变单个css样式

      HTML部分

    <div id="test" style="display:none">测试js改变单个css样式</div>

      JAVASCRIPT部分

    document.getElementById('test').style.display = 'none';

    2.js改变多个css样式

      HTML部分

    <div id="test">测试js改变多个css样式</div>

      方法一:通过操作style属性实现

    $get("test").style.height = '100px';
    $get("test").style.width = '100px';
    $get("test").style.border = '1px solid red';

      方法二:通过cssText属性实现(推荐使用)

    $get("test").style.cssText = "height:100px;500px;border:1px solid red;";

      说明:需要通过js改变多个css样式时,推荐使用第二种方式

      注意:使用cssText有2个注意事项

      a.会覆盖之前的样式;

      举例:

    <div id="test" style="height:100px;500px;border:1px solid red;">测试cssText</div>

      效果:想在此基础上加个背景色

    $get("test").style.cssText = "background-color:yellow;"  

      结果:但是实现效果却是加上了背景色,其他样式被覆盖掉了

      b.ie8及ie8以下结尾没有分号。

      通过cssText属性给标签设置行内样式时, ie8及ie8以下浏览器会自动去掉样式中的最后一个封号

      解决方案:使用cssText时应该采用叠加的方式以保留原有的样式  

    var cssText = $get("test").style.cssText;            
    // 不以;号结尾
    if(cssText.lastIndexOf(';') != cssText.length - 1) {
        cssText += ";"
    }
    cssText += "background-color:yellow;color:green;";
    // 追加多个样式
    $get("test").style.cssText = cssText; 

    小结:

      使用js改变单个css样式,通过调用style属性来实现;

      使用js改变多个css样式,通过调用cssText属性来实现,注意避免bug的出现。

    3.js改变名称带有-的样式

      使用javascript操作CSS样式时,遇到样式名称中带有-的,第二个首字母大写即可  

    $get("test").style.backgroundColor = "yellow";
  • 相关阅读:
    联通手机号停机保号了,想恢复要短信验证码登陆但是无法接收短信验证码怎么办
    记卖饭让我先吃
    POJ 3658 Artificial Lake
    POJ 3662 Telephone Lines (dijstra+二分)
    CodeForces 748C Santa Claus and Robot
    CodeForces 748B Santa Claus and Keyboard Check
    POJ 3659 Cell Phone Network(树形dp树的最小点支配集)
    【JZOJ 5455】拆网线 【树形DP】
    【JZOJ 5455】拆网线 【树形DP】
    【JZOJ 5455】拆网线 【树形DP】
  • 原文地址:https://www.cnblogs.com/Marydon20170307/p/7761770.html
Copyright © 2020-2023  润新知