xvvg
2015-11-20 20:48
window.onload=function(){
// 将所有点击的标题和要显示隐藏的列表取出来
var menu=document.getElementById("menu");
var ps=menu.getElementsByTagName("p");
var uls=menu.getElementsByTagName("ul");
// 遍历所有要点击的标题且给它们添加索引及绑定事件
for(i=0;i<ps.length;i++){
ps[i].onclick=function(){
if(uls[this.id].style.display=="block"){
uls[this.id].style.display="none";
}else{
uls[this.id].style.display="block";
}
}
}
没有页面结构,不知道具体什么总是,不过你的js代码倒是有一个问题,就是最后少了一个 }
你不加ps[i].id=i;证明ps[i].id还不存在 你直接在方法中调用肯定是不行的
这关系到i的做作用域的问题 在点击或者划过等事件中不能直接引用i 如果for循环中你定义的i<5 那么你在划过或者点击事件中引用的i直接是5具体的你搜索下变量作用域就能知道的
我加了一个ps[i].id=i,就出来了,我不太懂为什么加这个,帮我分析分析吧,谢谢了
Tab选项卡切换效果
65465 学习 · 533 问题
相似问题