我写了这段代码,当只有2个菜单时它工作正常,但只要有3或4,slideToggle双滑动(闪烁)。slideToggle带有两个以上菜单选项卡的双滑块
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"><html><head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(function() {
$('.menu').hide();
$('#nav a').click(function(){
var idvar = this.id;
var menuid = '#menu_'+idvar;
$('.menu').not(menuid).slideUp(function(){
$(menuid).slideToggle();
});
return false;
});
});
</script></head><body>
<div id="nav">
<a href="#" id="dogs">Dogs</a>
<a href="#" id="cats">Cats</a>
<a href="#" id="horses">Horses</a>
<a href="#" id="cows">Cows</a>
</div>
<div class="menu" id="menu_dogs">stuff about dogs</div>
<div class="menu" id="menu_cats">stuff about cats</div>
<div class="menu" id="menu_horses">stuff about horses</div>
<div class="menu" id="menu_cows">stuff about cows</div>
</body></html>
看待这个问题的演示:(删除任何两个菜单,看看它的工作它是如何打算) http://jsfiddle.net/ANDXJ/
谢谢!这个答案成功地保持了按钮切换幻灯片的功能,所以如果Cat已经打开,并且我点击Cat按钮,Cat就会关闭。 –
是的,我以为你可能想要:-)代码可以使用一些调整,但它涵盖了所有场景。 –