页面上有多个新闻框可以在单击时折叠和展开内容。似乎没有问题,但有一个消息框已经打开,用户必须在另一个消息框上单击两次以使其展开。jquery折叠和展开(显示)
请参阅链接,方便,http://jsfiddle.net/sameerast/JHgvK/
页面上有多个新闻框可以在单击时折叠和展开内容。似乎没有问题,但有一个消息框已经打开,用户必须在另一个消息框上单击两次以使其展开。jquery折叠和展开(显示)
请参阅链接,方便,http://jsfiddle.net/sameerast/JHgvK/
你可以缩短你的代码,只是这样的:
$(".fade").click(function() {
$(this).next().slideToggle("slow");
});
这将click
事件处理程序绑定到所有元素与.fade
类,而不是单独绑定通过id
您目前正在做的。使用slideToggle
处理元素是否已经可见或不适合你,所以你不需要费心把它保留在变量中。
您尝试的问题是您用来做这件事的hidden
变量。当您展开一个元素时,hidden
设置为false
。当您再点击另一个时,hidden
为false,因此slideUp
部件运行,并且hidden
设置为true
,因此当您再次单击时,运行正确的分支(else
)。
非常感谢,我发现你的脚本不错,但逐渐的不透明度动画错过。 –