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

代码中的Lis[i].i = i; 是什么意思?

<script type="text/javascript">

        window.onload = function () {

            var Lis = document.getElementsByTagName("li");

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

                Lis[i].i = i;

               //设置鼠标移入时的样式。

                Lis[i].onmouseover = function () {

                    this.className = "lihover";

                }

                  //设置鼠标移开时的样式为空。

                Lis[i].onmouseout = function () {

                    this.className = "";

                }

            }

        }

    </script>


正在回答

1 回答

从字面解释就是:把变量i的值赋值给Lis[i]元素的i属性。这条语句主要用于获取每个<li>元素上边沿到顶部的距离。"Lis[i].i=i;"中有三个i,从左到右,第一个和第三个是相同的意思,表示存放<li>元素的数组Lis的下标。中间的i是动态添加给数组对象的属性(数组也是对象,所以可以动态添加属性)。

PS:题注代码没贴全,这条语句是给下面代码中注释部分用的。

<script type="text/javascript">
        window.onload = function () {
            var Lis = document.getElementsByTagName("li");
            for (i = 0; i < Lis.length; i++) {
                Lis[i].i = i;
                Lis[i].onmouseover = function () {
                    this.className = "lihover";

                    var h0 = (this.i - 1) * 30 + 42;//*获取li上边沿到顶端的距离
                    var y = this.getElementsByTagName("div")[0].offsetHeight;
                    var h = this.getElementsByTagName("div")[0].style.top + y;

                    if (h < h0) {
                        this.getElementsByTagName("div")[0].style.top = h0 + "px";
                    }

                    if (y > 550) {
                        this.getElementsByTagName("div")[0].style.top = "3px";
                    }
                }

                Lis[i].onmouseout = function () {
                    this.className = "";
                }
            }

        }
    </script>


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

荣耀zyy 提问者

非常感谢!
2016-08-11 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

代码中的Lis[i].i = i; 是什么意思?

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