2012-01-17 65 views
1

我的页面上有一个常见问题解答区域,其中包含列表中的所有问题,当用户点击标题时,带答案的DIV将展开到视图中。但是,在关闭答案DIV层时,我遇到了麻烦。发生的两件事之一...用JQuery切换DIV

这一个将简单地打开和关闭每个DIV层,因此可以一次打开多个答案。我只想打开一个,当用户点击相同的标题或另一个标题时,当前打开的图层应该折叠。

<script type="text/javascript"> 
jQuery(document).ready(function() { 
    jQuery(".faq_answer").hide(); 
    jQuery(".faq_heading").click(function() { 
    jQuery(this).next(".faq_answer").slideToggle(500); 
    }); 
}); 
</script> 

这一个会折叠当另一个标题被点击时(这是好的)当前打开的任何图层。但是,当单击SAME标题时,它会关闭它,然后重新打开它。

<script type="text/javascript"> 
jQuery(document).ready(function() { 
    jQuery(".faq_answer").hide(); 
    jQuery(".faq_heading").click(function() { 
    jQuery(".faq_answer").hide(500); 
    jQuery(this).next(".faq_answer").slideToggle(500); 
    }); 
}); 
</script> 
+1

包装在一个if语句。如果div已经打开,则什么也不做。 – 2012-01-17 06:01:03

+0

一些html代码? – 2012-01-17 06:49:38

回答

1

内的点击处理程序,而不是这样的:

jQuery(".faq_answer").hide(500); 

试试这个:

jQuery(".faq_heading").not(this).next(".faq_answer").hide(500);