页面上有多个新闻框可以在点击时折叠和展开内容。似乎没问题,但是已经打开了一个新闻框,用户必须在另一个新闻框中单击两次才能使其展开。
答案 0 :(得分:2)
您可以将代码简化为:
$(".fade").click(function() {
$(this).next().slideToggle("slow");
});
这会将click
事件处理程序绑定到具有类.fade
的所有元素,而不是像您当前那样由id
单独绑定。使用slideToggle
处理元素是否已经可见,因此您无需在变量中维护它。
您尝试的问题是您使用的hidden
变量。展开一个元素时,hidden
设置为false
。当您再点击另一个时,hidden
为false,因此slideUp
部分运行,hidden
设置为true
,因此当您再次点击时,正确的分支( else
)运行。
答案 1 :(得分:0)