javascript - setIndex的作用
问题描述
<ul id='tab_top'><li class='current'>公告</li><li>规则</li><li>论坛</li><li>公益</li><li>安全</li> </ul> <p id='tab_bottom'><p class='tab-content selected'> <ul><li> <a href='https://www.haobala.com/wenda/4346.html#'>数据七夕:金牛爱送玫瑰</a></li><li> <a href='https://www.haobala.com/wenda/4346.html#'>阿里打造'互联网监管'</a></li><li> <a href='https://www.haobala.com/wenda/4346.html#'>10万家店60万新品</a></li><li> <a href='https://www.haobala.com/wenda/4346.html#'>全球最大网上时装周</a></li> </ul></p> </p>
// 获得属性 function TabFn() { this.tabLi = $(’tab_top’).getElementsByTagName(’li’); this.tabC = $(’tab_bottom’).getElementsByClassName(’tab-content’); } // 定义原型方法 TabFn.prototype = {// 1.初始化事件initEvent: function () { this.setIndex(); this.bindEvent();},// 2.设置索引setIndex: function () { for (var i = 0; i < this.tabLi.length; i++) {var li = this.tabLi[i];li.index = i; }},// 3.绑定事件bindEvent: function () { for (var i = 0; i < this.tabLi.length; i++) {var own = this;this.tabLi[i].onmouseover = function () { own.handler(this);} }},// 4.事件处理函数handler: function (that) { for (var j = 0; j < this.tabLi.length; j++) {this.tabLi[j].className = ’’;// !驼峰结构this.tabC[j].style.display = ’none’; } // that = li.current; that.className = ’current’;// that 为当前的tab上的li this.tabC[that.index].style.display = ’block’;} } window.onload = function () { var tab = new TabFn();tab.initEvent(); }
> 请问下这里setIndex的作用
问题解答
回答1:setIndex的作用是给top列表中的元素设置索引,设置索引的目的是因为bindEvent的时候不能传递索引i,因为循环执行完毕后,i始终等于this.tabLi.length,而在设置选项卡内容是否隐藏时
this.tabC[that.index].style.display = ’block’;
你需要知道,当前是操作的是第几个li,这也就是setIndex的目的。
相关文章:
1. android - 哪位大神知道java后台的api接口的对象传到前端后输入日期报错,是什么情况?求大神指点2. docker api 开发的端口怎么获取?3. html - 爬虫时出现“DNS lookup failed”,打开网页却没问题,这是什么情况?4. docker - 各位电脑上有多少个容器啊?容器一多,自己都搞混了,咋办呢?5. docker容器呢SSH为什么连不通呢?6. docker网络端口映射,没有方便点的操作方法么?7. docker - 如何修改运行中容器的配置8. docker绑定了nginx端口 外部访问不到9. javascript - 求一款靠谱点的移动端图片查看器插件,老司机速进!10. javascript - jquery hide()方法无效

网公网安备