天天看点

添加和删除类名

<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="UTF-8">

  <meta http-equiv="X-UA-Compatible" content="IE=edge">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

   <script type="text/javascript" src="../js/tools.js"></script>

  <title>轮播图实现</title>

  <style>

     *{

       margin: 0;

       padding: 0;

     }

     .b1{

      width: 100px;

      height: 100px; 

      background-color: red; 

     .b2{

      width: 200px;

      height: 200px; 

      background-color: yellow; 

  </style>

  <script>

    window.onload = function(){

      // 获取 btn01 

      var btn01 = document.getElementById("btn01");

      var box = document.getElementById("box");

      btn01.onclick = function(){

        // 修改box 样式

        // box.style.width = "200px";

        // box.style.height = "200px";

        // box.style.backgroundColor = "yellow";

        // 修改 box 的class 属性

        // box.className = " b2";

        // box.className += " b2"; 

        //  addClass(box,'b2')  

        //  removeClass(box,'b2')   

        toggleClass(box,'b2')   

      }

      // 定义一个函数 向一个元素中 添加指定的class属性值

      /**

       * obj 要添加 class属性的元素

       * cn 要添加的class 值

      */

      function addClass(obj, cn){

        // 检查 obj 中是否含有cn 

        if(!hasClass(obj, cn)){

          obj.className += " " + cn;

        }

       *  判断一个函数中是否含有 class 属性值

       *   如果有 该 class 则返回true, 没有则返回false

     function hasClass(obj, cn){

      // 判断 obj 中有没有 cn class

      // 创建一个 正则表达式 

      var reg = new RegExp("\\b" + cn + "\\b");  

      return reg.test(obj.className); 

     /**

      *  删除一个 元素中指定的 class 属性

     */

     function removeClass(obj, cn){

        // 创建一个 正则表达式 

        var reg = new RegExp("\\b" + cn + "\\b");  

        obj.className = obj.className.replace(reg,'')

    /**

     * toggleClass 可以用来切换一个类

     *  如果元素有该类 则删除

     *  如果元素中没有 则添加

    */

   function toggleClass(obj,cn){ 

     if(hasClass(obj, cn)){

       // 有 删除

      removeClass(obj, cn)

     }else{

       // 没有  就添加

       addClass(obj, cn)

     } 

   }

    }

  </script>

</head>

<body>

  <button id="btn01">点击修改样式</button></button>

  <br/>  <br/>

  <div id="box" class="b1"></div>

</body>

</html>