2011-05-16 122 views
1
<div id="nav"> 
<a href="#" id="l1">link1</a><br> 
<a href="#" id="l2">link2</a><br> 
<a href="#" id="l3">link3</a><br> 
</div> 

<div id="content" style="background:pink;"> 
INDEX 
</div> 

    <div id="content1" style="display:none; background:red;"> 
     11111111 
    </div> 

    <div id="content2" style="display:none; background:yellow;"> 
     22222222 
    </div> 

    <div id="content3" style="display:none; background:blue;"> 
     33333333 
    </div> 

<style> 
#nav{ 
height:300px; 
width:80px; 
background:gray; 
} 

#content,#content1,#content2,#content3{ 
height:300px; 
width:600px; 
position:absolute; 
left:90px; 
top:8px; 
text-align:middle; 
} 
</style> 

<script src="jquery.js"></script> 
<script> 
$("#l1").click(function(){ 
$("#content,#content2,#conten3").hide(); 
$("#content1").toggle(); 
}); 
$("#l2").click(function(){ 
$("#content,#content1,#conten3").hide(); 
$("#content2").toggle(); 
}); 
$("#l3").click(function(){ 
$("#content,#content1,#conten2").hide(); 
$("#content3").toggle(); 
}); 
</script> 

这里是代码,每个链接只能成功点击一次,为什么? (我只能点击1到2到3,如果我想点击回到1,则失败。)为什么jQuery fadein只能执行一次

+0

我没有看到任何淡入淡出,“in”或其他。 – 2011-05-16 11:53:04

回答

5

您的选择器中有一个错字 - 在hide的每行中缺少tcontent。这意味着#content3永远不会再被隐藏,并始终保持在其他两个div的顶部。

See working jsFiddle

+0

非常感谢你,那真是一个愚蠢的错误。 xD – nich 2011-05-16 12:57:32

0

在寂寞的日子里,一些选择者缺乏't'。

您还应该使用fadeIn而不是切换。双击相同的选项卡将继续显示选定的div。

+0

我改变切换成淡入淡出,效果很好。谢谢 – nich 2011-05-16 12:58:08