对不起,对于树木来说,这可能是愚蠢的木材,但是:
我想要的只是一个带有几个链接的div
- 您点击链接然后切换到另一个div
。标准标签的东西。而已。但是当我运行下面的代码时,它会切换到我想要的div
然后直接重置为原始div。为什么呢?
Javascript:
number_of_pages = 4;
function cyber(page)
{
for(i = 1; i <= number_of_pages; i++)
{
off = 'monitor' + i;
document.getElementById(off).style.display = 'none';
}
on = 'monitor' + page;
document.getElementById(on).style.display = 'block';
alert(on); //debug
}
CSS:
.monitor{width: 400px; border: 1px solid #333; padding: 10px 10px 10px 10px}
HTML:
<div class="monitor" id="monitor1" style="display: block">
<a href="" onclick="cyber(2)">foo</a><br />
<a href="" onclick="cyber(3)">bah</a><br />
</div>
<div class="monitor" id="monitor2" style="display: none">
<a href="" onclick="cyber(1)">homepage</a>
</div>
等...
非常感谢提前。
答案 0 :(得分:3)
这是因为浏览器实际上遵循href=""
指令,即在执行javascript后立即重新加载当前页面。您需要return false
处理程序onclick
以阻止浏览器强制使用href
:
number_of_pages = 4;
function cyber(page)
{
for(i = 1; i <= number_of_pages; i++)
{
off = 'monitor' + i;
document.getElementById(off).style.display = 'none';
}
on = 'monitor' + page;
document.getElementById(on).style.display = 'block';
alert(on); //debug
return false;
}