2013-09-01 55 views
0

我有一个在JSFiddle上工作的例子,所以您可以了解我的工作内容。我试图找到一种方法来打开另一个打开时自动关闭的下拉菜单。我发现的所有解决方案都可以保持开放或开放&同时关闭所有内容。请记住,在最后一页,他们将有大约30个这样的下拉菜单。打开另一个时自动关闭的多个下拉窗口

这里是jquery代码原样。

$(document).ready(function() { 
     $(".answer").hide(); 

     $(".question").click(function() { 
      $(this).next(".answer").slideToggle(500); 
     }); 
    }); 

HTML设置这样的。

<p class="question">The question.</p> 
<div class="answer">The answer.</div> 
<p class="question">The question2.</p> 
<div class="answer">The answer2.</div> 
<p class="question">The question3.</p> 
<div class="answer">The answer3.</div> 
<p class="question">The question4.</p> 
<div class="answer">The answer4.</div> 

我很新jquery &我在这里尽力而为。我一整天都在这里工作,只能作为最后的手段寻求帮助。如果需要更多信息,请尽我所能提供。任何帮助是极大的赞赏!

+1

还有一个原因是,软件不会让你刚刚发布的jsfiddle链接。您可以通过在此处显示您的实际代码并描述您为实现目标所尝试的内容以及实际卡住的位置,而不是通过小问题绕过它。 – Eric

回答

2

关闭所有打开的答案,只有在点击的答案是不可见的:http://jsfiddle.net/zFuUp/2/

$(document).ready(function() { 
    $(".answer").hide(); 
    //toggle the componenet with class msg_body 
    $(".question").click(function() { 
     // Check if we are closing us 
     if(! $(this).next('.answer').is(':visible')) 
      $('.answer').slideUp(500) 

     // Open us 
     $(this).next(".answer").slideToggle(500); 
    }); 
}); 
+0

谢谢!看起来很棒,在0个问题上效果很好。 – NathanD

相关问题