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

老师我想问一下这块代码的执行顺序是怎样的,谢谢!


    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 = "li1";

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

       }

    };

提问者:大皇冠 2015-01-16 17:54

个回答

  • Lybon
    2015-03-20 12:22:37

    事件是挂载的,只有事件触发的时候才会运行代码,没有发生事件的时候你就当那段代码不存在!

  • 康振宁
    2015-01-16 19:33:57

    首先这是一个循环,下面是详细解析:

    循环变量i从0开始小于变量rui的长度,步进值为1

    将rui数组中的每个元素设置一个索引值,索引的值为每次循环变量i的值;

    给rui数组中的每个元素设置点击事件;

    在点击事件函数中首先写了一个循环:

    循环变量n从0开始小于变量rui的长度,步进值为1

    设置变量rui中的每个元素的类选择器为空;

    设置变量du中的每个元素的选择器名为c的类选择器;

    循环体外:

    设置被点击的元素的样式,设置为类选择器名为tip中的样式;

    设置变量du中与被点击元素索引相等的样式,将类选择器设置为空

    以上为详细讲解,整体讲一下就是,选项卡点击的时候下面的div元素的样式跟着变换