下面是我的HTML代码,用于在两个选项卡之间切换并相应地显示内容
<div class="tab" id="tab-1" onclick="switch_tab(1)">
<a class="tab-text" href="">ABC</a>
</div>
<div class="tab" id="tab-2" onclick="switch_tab(2)">
<a class="tab-text" href="">XYZ</a>
</div>
<div id="content">
<div id="content-abc"> ... </div>
<div id="content-xyz"> ... </div>
</div>JavaScript:
function switch_tab(index) {
switch(index) {
case 1:
hide_content("content-xyz");
show_content("content-abc");
break;
case 2:
hide_content("content-abc");
show_content("content-xyz");
break;
}
}
function show_content(idname) {
document.getElementById(idname).style.display = "block";
}
function hide_content(idname) {
document.getElementById(idname).style.display = "none";
}但这不管用。帮助。
发布于 2014-03-04 21:56:58
我认为问题在于带有空白href值的href标记。将这些更改为"#“(当然还添加”内容“div)可以解决这个问题。如果样式不需要,还可以去掉锚,因为click事件是在包装器div上处理的。
http://jsfiddle.net/9p2TM/
发布于 2014-03-04 21:55:53
我没有看到在hide_content或show_content函数中使用in的任何元素
发布于 2014-03-04 22:03:58
您应该使用JS设置onclick属性。通过ID设置索引,如: var divs = document.getElementsByTagName('div');
for (var i = 0, il = divs.length; i < il; i++) {
divs[i].addEventListener("click", createHandler(divs[i], true));
}完整示例:http://jsfiddle.net/JBL95/
https://stackoverflow.com/questions/22183718
复制相似问题