javascript - setIndex的作用
問題描述
<ul id='tab_top'><li class='current'>公告</li><li>規(guī)則</li><li>論壇</li><li>公益</li><li>安全</li> </ul> <p id='tab_bottom'><p class='tab-content selected'> <ul><li> <a href='http://www.lshqa.cn/wenda/4346.html#'>數(shù)據(jù)七夕:金牛愛送玫瑰</a></li><li> <a href='http://www.lshqa.cn/wenda/4346.html#'>阿里打造'互聯(lián)網(wǎng)監(jiān)管'</a></li><li> <a href='http://www.lshqa.cn/wenda/4346.html#'>10萬家店60萬新品</a></li><li> <a href='http://www.lshqa.cn/wenda/4346.html#'>全球最大網(wǎng)上時(shí)裝周</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.設(shè)置索引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.事件處理函數(shù)handler: function (that) { for (var j = 0; j < this.tabLi.length; j++) {this.tabLi[j].className = ’’;// !駝峰結(jié)構(gòu)this.tabC[j].style.display = ’none’; } // that = li.current; that.className = ’current’;// that 為當(dāng)前的tab上的li this.tabC[that.index].style.display = ’block’;} } window.onload = function () { var tab = new TabFn();tab.initEvent(); }
> 請(qǐng)問下這里setIndex的作用
問題解答
回答1:setIndex的作用是給top列表中的元素設(shè)置索引,設(shè)置索引的目的是因?yàn)閎indEvent的時(shí)候不能傳遞索引i,因?yàn)檠h(huán)執(zhí)行完畢后,i始終等于this.tabLi.length,而在設(shè)置選項(xiàng)卡內(nèi)容是否隱藏時(shí)
this.tabC[that.index].style.display = ’block’;
你需要知道,當(dāng)前是操作的是第幾個(gè)li,這也就是setIndex的目的。
相關(guān)文章:
1. 在html文件的目錄下輸入代碼按回車后顯示這個(gè),哪位大佬幫幫我 呀2. javascript - 微信網(wǎng)頁開發(fā)從菜單進(jìn)入頁面后,按返回鍵沒有關(guān)閉瀏覽器而是刷新當(dāng)前頁面,求解決?3. node.js - nodejs開發(fā)中常用的連接mysql的庫4. 老師您的微信號(hào)是多少?5. mysql - jdbc的問題6. python - 在使用Pycharm時(shí)經(jīng)常看到如下的樣式,小括號(hào)里紅色的部分是什么意思呢?7. 視頻文件不能播放,怎么辦?8. mysql - 分庫分表、分區(qū)、讀寫分離 這些都是用在什么場(chǎng)景下 ,會(huì)帶來哪些效率或者其他方面的好處9. windows7 ping不通虛擬機(jī)VMware上的linux(ubuntu)的ip10. mysql - 如何減少使用或者不用LEFT JOIN查詢?
