您的位置:首页 > 其它

写模态对话框的问题:运用this.index 为元素添加事件

2016-07-26 19:57 363 查看
简单选项卡:

<pre name="code" class="javascript">window.onload=function(){
var oTab=document.getElementById("tab").getElementsByTagName("li");//tab最好是li的直接父级元素 不然会有奇怪的情况发生
var oCtn=document.getElementById("content").getElementsByTagName("ul");
for(var i=0;i<oTab.length;i++){
<span style="color:#ff0000;">oTab[i].index=i;</span>
oTab[i].onmouseover=function(){
for(var n=0;n<oTab.length;n++)  oTab
.className=" "; //消除页面最初的类
this.className="current";
for(var m=0;m<oCtn.length;m++)  oCtn[m].style.display="none"; //同上
<span style="color:#ff0000;">oCtn[this.index].</span>style.display="block"
}
}
}



oTab[i].index=i;

oCtn[this.index].style.display="block"  注意 这里的this是oTab[i]

这里要用this.index 因为点击Button时 i已经为5了

8月28日补:

今天又遇到类似问题

for(var i=0;i<mask.length;i++){
mask[i].style.height=image[i].offsetHeight+"px";
<span style="color:#ff0000;">image[i].index=i; //</span><span style="color: rgb(255, 0, 0); font-family: Arial, Helvetica, sans-serif;">image[i].index=i; 此句不在下个for循环里 在这里</span>
image[i].onclick = function() {
openNew(<span style="color:#ff0000;">this.index</span>);
return false;
}
}

如果直接传参i  不管点击那幅图openNew()一直传递参数18(图最大的数目)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: