我已经看到了这个问题的不少迭代,但没有解决我的特定问题。jQuery slideDown()slideUp()需要两次点击
单击h3
时触发切换下方链接列表可见性的问题时会出现问题。选择器和行为正常工作,显示隐藏的项目并正确隐藏其他项目。然而,一旦头被点击一次,它必须被点击两次以执行切换。这是一个小烦恼,但我想要一个解决方案。
因此,点击一个标题会关闭它,如果它关闭,如果它是打开的,则分别添加和删除.active
类......都很好。
点击另一个标题也会正常运行,隐藏打开的列表并打开点击的标题。
但是,如果你去回到第一个标题,以前打开,但现在关闭,只需单击它不会启动切换。它必须再次点击。
这就是问题所在。我对页面代码的访问权限有限,因此大多数遍历选择都必须在jQuery中完成,且标签已经就位。
这里的网页有问题: http://queensvw.com/documents/stackoverflow
这里是jQuery的:
$(document).ready(function() {
function hideAll() {
$('#minutes_highlights .date_heading').nextAll('.document_listing').slideUp();
}
hideAll();
$('#minutes_highlights .date_heading').click(function() {
if ($(this).hasClass('active')) {
$(this).removeClass('active');
$(this).nextUntil('hr').slideUp();
} else {
$(this).addClass('active');
hideAll();
$(this).nextUntil('hr').slideDown();
}
});
});
我尝试添加一个preventDefault()
和基于其他线程setTimeout()
。说实话,我不确定他们为什么会重要,因为我不是在a
上采取行动,但他们并没有解决点击问题。
有关如何避免第二次点击的任何想法?
我真** **真的很讨厌它,当我想念明显的时候。往往是这样。感谢新鲜的眼睛;我总是可以依靠SO来获得正确的发展方向。那样做了。固定。谢谢! – dashard