猿问

怎么封装函数才不出BUG?

这串代码要怎么封装才不出BUG,我的目的是在封装以后在其他地方就不用重复写着段代码了,求大神指导!


<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>实践题 - 选项卡</title>

    <style type="text/css">

     /* CSS样式制作 */  

       *{padding:0px;margin:0px;font:12px normal "microsoft yahei";}

       #tabs{width:290px;padding:5px;height:150px;margin:20px;}

       #tabs ul{list-style:none;display:block;height:30px;line-height:30px;border-bottom:2px solid saddlebrown;}

       #tabs ul li{float:left;background:#FFF;cursor:pointer;list-style:none;height:28px;line-height:28px;margin:0 3px;border:1px solid #aaaaaa;border-bottom:none;display:inline-block;width:60px;text-align:center;}

       #tabs ul li.on{border-top:2px solid saddlebrown;border-bottom:2px solid #FFF;}

       #tabs div{height:120px;line-height:25px;border:1px solid #336699;border-top:none;padding:5px;}

       .hide{display:none;}

       

    </style>

    <script type="text/javascript">

         

    // JS实现选项卡切换

      window.onload = function(){

          var oTab = document.getElementById("tabs");

          var oUl = oTab.getElementsByTagName("ul")[0];

          var oLis = oUl.getElementsByTagName("li");

          var oDivs = oTab.getElementsByTagName("div");

          

          for(var i=0,len=oLis.length;i<len;i++){

              oLis[i].index = i;

              oLis[i].onclick = function(){

                  for(var n=0;n<len;n++){

                      oLis[n].className="";

                      oDivs[n].className="hide";

                  }

                  this.className="on";

                  oDivs[this.index].className="";

              }

          }

      }

    

    </script>

 

</head>

<body>

<!-- HTML页面布局 -->

  <div id="tabs">

      <ul>

          <li>房产</li>

          <li>家居</li>

          <li>二手房</li>

      </ul>

      <div>

           275万购昌平邻铁三居 总价20万买一居<br />

           200万内购五环三居 140万安家东三环<br />

           北京首现零首付楼盘 53万购东5环50平<br />

           京楼盘直降5000 中信府 公园楼王现房<br />

      </div>

      <div>

           40平出租屋大改造 美少女的混搭小窝<br />

           经典清新简欧爱家 90平老房焕发新生<br />

           新中式的酷色温情 66平撞色活泼家居<br />

           瓷砖就像选好老婆 卫生间烟道的设计<br />

      </div>

      <div>

           通州豪华3居260万 二环稀缺2居250w甩<br />

           西3环通透2居290万 130万2居限量抢购<br />

           黄城根小学学区仅260万 121平70万抛!<br />

           独家别墅280万 苏州桥2居优惠价248万<br />

      </div>

  </div>


 

</body>

</html>


qq_轮滑到老_04284587
浏览 1521回答 2
2回答

遥望星辰_

写代码用不用jquery,用的话三两行就搞定了,不用考虑什么封装和bug问题

橋本奈奈未

将可变的信息用参数注入,然后将其封装成工具函数或者构造函数(或者说叫类)。个人不是很喜欢JS的类,尤其ES6之前是通过原型链来构建的那种方式(虽然ES6也是这样的,但是语法上更容易懂一点),JS的原型链比较错综复杂,而且不用原型链也一样可以玩的很溜。个人比较喜欢FP(函数式编程)那种。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答