我在使用以下代码时遇到问题。当我点击一个链接时,我应该只能看到相应的部分。通过添加警报,我看到脚本隐藏了正确的元素,但在循环运行后一切都恢复正常。此外,如果我将 onClick 事件更改为 onMouseOver,则隐藏元素会在循环完成后保持隐藏状态。
<html>
<head>
<script>
function switchTabs(clicked)
{
var tab = clicked.innerHTML;
var content = document.getElementsByTagName('section');
for(var i=0; i<content.length; i++)
{
if(content[i].id && content[i].id.indexOf(tab) != -1)
{
content[i].style.display = 'inline';
}
else
{
content[i].style.display = 'none';
}
}
}
</script>
</head>
<body>
<nav>
<ul>
<li><a href='' onClick='switchTabs(this);'>Javascript</a></li>
<li><a href='' onClick='switchTabs(this);'>Ajax</a></li>
<li><a href='' onClick='switchTabs(this);'>PHP</a></li>
</ul>
</nav>
<section id='JavascriptSection'>
<h1>Javascript Section</h1>
</section>
<section id='AjaxSection'>
<h1>AJAX Section</h1>
</section>
<section id='PHPSection'>
<h1>PHP Section</h1>
</section>
</body>