2013-03-29 76 views
1

我有3个div用于在我的网站页面顶部显示导航。所有使用jQuery功能:Slidetoggle JQuery的多个实例

$('#div_button').click(function() { 
     $('#div_nav').slideToggle(); 
); 

的问题是,我可以得到这样一个场景,我得到彼此的顶部2个slidetoggles/div的和那不是好。当我点击一个按钮开始slideToggle我想删除当前正在显示的任何其他div。

描述该问题的一个画面:

2 DIVS ON TOP OF EACH OTHER

任何人都可以提出一个解决方案?

在此先感谢

+0

请注意,在图像中,div是不同的,只是复制和粘贴,以生成多种类型的div。 – cwiggo

+0

也许这样的事情? http://jsfiddle.net/78TRb/我使用'.active'类来检查哪一个被打开。 –

+0

@Bondye hey bondye,得到该代码运行id而不是类的任何机会?看起来它可以工作。 – cwiggo

回答

0

我设法找到解决这个问题的方法。基本上你需要使用这个功能,等待其他slideToggles或slideUPs完成:

$('#tcd-home-view-nav').slideUp(function(){ 
    // Animation complete. 
    $('#tcd-home-edit-nav').slideToggle(); 
}); 

干杯的人帮我解决这个问题。 Chris

0

hide()所有其他div第一

$('#div_button').click(function() { 
    $('.otherDivClass').hide(); 
    $('#div_nav').slideToggle(); 
); 
+0

它的权利,但它不会产生预期的效果。它立即隐藏div,我希望显示div的currenlty向上滑动,并在完成后新的div滑落。 – cwiggo

0

使用插件像手风琴让您无需添加类的标题和内容元素运用你后的功能。

http://api.jqueryui.com/accordion/

的选择,如果你确信你需要坚持使用的ID,是写3个独立点击功能,打开和关闭与每个相关内容。

+0

为什么3?即时只slideToggling视图和编辑+手风琴不给我想要的效果,我不希望它看起来像一个列表 – cwiggo

+0

也许我误解。没有一些代码就很难得到你的意思。 – isherwood