zoukankan      html  css  js  c++  java
  • 类的操作

    <!DOCTYPE html>
    <html>
     <head>
      <meta charset="UTF-8">
      <title></title>
      <style type="text/css">
       .b1{
         200px;
        height: 200px;
        background-color: red;
       }
       .b2{
         400px;
        height: 400px;
        background-color: yellow;
       }
      </style>
      <script type="text/javascript">
       window.onload=function(){
        var box1 = document.getElementById("box1");
        var btn = document.getElementById("btn");
        btn.onclick=function(){
         //修改box的样式
         /*
          * 通过style属性来修改元素的样式,每修改一个样式,浏览器就需要重新渲染一次页面
          * 这样的执行是比较差的,而且这种形式当我们要修改多个样式,也不太方便
          */
    //     box1.style.width="200px";
    //     box1.style.height="200px";
    //     box1.style.backgroundColor="yellow";


         //我希望一行代码可以修改多个样式
         //修改box1的class属性
         /*
          * 我们可以通过修改元素的class属性来间接修改样式
          * 只修改一次,即可同时修改多个,性能性也好
          */
    //     box1.className+=" b2";  //在原有基础上增加
    //     addClass(box1,"b2");
    //     alert(hasClass(box1,"b2"));
    //     removeClass(box1,"b2");
         toggleClass(box1,"b2");
        }
        /*
         * 定义一个函数,用来向一个元素中添加指定的class属性值
         * 参数:
         * obj 要添加class属性元素
         * cn 要增加的class值
         */
        function addClass(obj,cn){
         if(!hasClass(obj,cn)){
          obj.className +=" "+cn;
         }
         
        }
        /*
         * 判断一个元素中是否含有class属性
         * 如果有该class,则返回true,没有则返回false
         *
         */
        function hasClass(obj,cn){
         //判断obj中有没有cn class
    //     var reg =/b2/;     //   单词边界
         var reg = new RegExp("\b"+cn+"\b");
    //     alert(reg)
         return reg.test(obj.className);
        }
        function removeClass(obj,cn){
         var reg = new RegExp("\b"+cn+"\b");
         obj.className=obj.className.replace(reg,"");
         
        }
        //先判断,如果有删除   没有增加
        function toggleClass(obj,cn){
         if(hasClass(obj,cn)){
          removeClass(obj,cn);
         }else{
          addClass(obj,cn);
         }
         
        }
       }
      </script>
     </head>
     <body>
      <button id="btn">点击按钮,改变box的样式</button>
      <br />
      <br />
      <div id="box1" class="b1"></div>
     </body>
    </html>

  • 相关阅读:
    JavaScript 相关记录
    首页大图淡入淡出效果工具flexslider
    取消chrome浏览器下input和textarea的默认样式;html5默认input内容清除“×”按钮去除办法
    Hibernate入门笔记
    Servlet入门笔记
    父容器利用opacity设置透明后,子元素跟着变透明的解决方案
    overflow:hidden与margin:0 auto之间的冲突
    初识Android Studio
    首页图片滚动效果
    DIV宽度设置成100%,浏览器窗口缩小后,右边出现留白
  • 原文地址:https://www.cnblogs.com/weixin2623670713/p/12782594.html
Copyright © 2011-2022 走看看