jquery崩溃和扩展(揭示)

时间:2011-10-13 11:56:33

标签: jquery expand collapse

页面上有多个新闻框可以在点击时折叠和展开内容。似乎没问题,但是已经打开了一个新闻框,用户必须在另一个新闻框中单击两次才能使其展开。

请参阅链接以方便http://jsfiddle.net/sameerast/JHgvK/

2 个答案:

答案 0 :(得分:2)

您可以将代码简化为:

$(".fade").click(function() {
    $(this).next().slideToggle("slow"); 
});

这会将click事件处理程序绑定到具有类.fade的所有元素,而不是像您当前那样由id单独绑定。使用slideToggle处理元素是否已经可见,因此您无需在变量中维护它。

您尝试的问题是您使用的hidden变量。展开一个元素时,hidden设置为false。当您再点击另一个时,hidden为false,因此slideUp部分运行,hidden设置为true,因此当您再次点击时,正确的分支( else)运行。

这是一个updated working fiddle

答案 1 :(得分:0)

试试这个。

http://jsfiddle.net/JHgvK/2/

我不确定你是否希望在点击一个方框时其他方框崩溃。

我没有使用slideToggle,以防你想为每个州做其他事情