我正在尝试创建一个基本上包含 3 个部分的页面。在任何给定点,都应该只显示 1 个部分。虽然对 javascript/jquery 来说相对较新,但我认为这对于一些链接和 switch 语句来说非常简单,但是我遇到了障碍,无法弄清楚我哪里出错了。
我在http://jsfiddle.net/donschaeferart/LVXKb/2/上设置了一个小提琴,它重新创建了我想要实现的基本功能。代码如下:
HTML:
<div class="divMain">
<div id="divSub1">
<h1>SubSection 1</h1>
<p><a href="" onclick="selectSection(2);">Next</a></p>
</div>
<div id="divSub2" class="displayNone">
<h1>SubSection 2</h1>
<p><a href="" onclick="selectSection(1);">Previous</a></p>
<p><a href="" onclick="selectSection(3);">Next</a></p>
</div>
<div id="divSub3" class="displayNone">
<h1>SubSection 3</h1>
<p><a href="" onclick="selectSection(2);">Previous</a></p>
</div>
</div>
CSS:
.displayNone{display:none;}
Javascript:
function selectSection(n){
switch (n){
case 1:
$("#divSub1").removeClass('displayNone');
$("#divSub2").addClass('displayNone');
$("#divSub3").addClass('displayNone');
break;
case 2:
$("#divSub1").addClass('displayNone');
$("#divSub2").removeClass('displayNone');
$("#divSub3").addClass('displayNone');
break;
case 3:
$("#divSub1").addClass('displayNone');
$("#divSub2").addClass('displayNone');
$("#divSub3").removeClass('displayNone');
break;
default:
break;
}
}
然而,虽然代码是有效的并且看起来可以正常工作,但有两件事正在发生......
- 当我在实际页面上运行类似代码并单击其中一个链接时,它会执行,然后在函数完成后立即恢复,因此看起来函数根本没有执行
- 当我运行小提琴并尝试单击一个链接时,结果视口切换到似乎是 JSFiddle 站点本身的混乱版本(如果您向右滚动并单击“登录”,它会将您带到 JSFiddle 登录屏幕)
我很确定某处有一个小错误会导致一切都失败,但我很茫然,所以任何帮助都将不胜感激。