问答详情
源自:10-1 编程挑战

想知道这段JS代码的意思

window.onload = function() {

        var oUl1 = document.getElementById("ul1");

        var aLi = oUl1.getElementsByTagName("li");

        var oDiv = document.getElementById("tab-list");

        var aDiv = oDiv.getElementsByTagName("div");

        for(var i = 0; i < aLi.length; i++) {

            aLi[i].index = i;

            aLi[i].onmouseover = function() {

                for(var i = 0; i < aLi.length; i++) {

                    aLi[i].className = "";

                }

                this.className = "active";

                for(var j = 0; j < aDiv.length; j++) {

                    aDiv[j].className = "hide";

                }

                aDiv[this.index].className = "show";

            }        

        }

    }


提问者:慕UI6363324 2016-07-15 13:56

个回答

  • zhangjieying1996
    2016-07-22 15:43:10

    不知道你现在弄懂没有,刚刚看了别人的解释,用自己的话总结一下:

    第一个循环是为了绑定下标i,为了让后面本页面class能被设置为“show”而进行的。

    在第一个循环内有鼠标监听事件定义了点击后的函数,其中包含了另一个循环,将所有页面的classname都设置成“hide”,在css中.hide的样式是不显示,然后再单独将被点击的页面设置为“show”

  • 朱戏以
    2016-07-20 07:47:01

    同求....

  • 番_小_茄
    2016-07-15 16:07:12

    选项卡 可以参考慕课的这段http://www.imooc.com/code/1912