为了账号安全,请及时绑定邮箱和手机立即绑定

为什么要用两个for循环呀,选项卡切换

<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>


正在回答

2 回答

<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;//给oLi添加索引号0,1,2对应房产,家具,二手房;方便之后的this.index调用之前oLi添加索引号。这是第一个for循环的作用

                 oLis[i].onclick = function() {

                     for(var n= 0;n<len;n++){//点击时先初始化样式

                         oLis[n].className = "";//3个li都没有on样式

                         oDivs[n].className = "hide";//3个div影藏

                     }

                     this.className = "on";//点击的li添加on样式

                     oDivs[this.index].className = "";//this.index调用之前oLi添加索引号

                 }

             };

         }

      

      

    

    </script>

纯手写,望采纳

0 回复 有任何疑惑可以回复我~
#1

qq_随风飘_1 提问者

非常感谢!
2017-02-07 回复 有任何疑惑可以回复我~

第一个for循环,拿到点击的那一项,并添加点击事件;

第二个for循环,对所有的项置默认空,然后才对所点击的该项赋对应的点击css样式值。

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么要用两个for循环呀,选项卡切换

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信