我有一个锚标签< a class =“next”> next< / a>制成“按钮”.有时,如果没有什么新事物可以隐藏这个标签.如果我只是用.hide()隐藏按钮,并且用.show()重新显示,这一切都可以正常工作.但是我想使用.fadeIn()和.fadeOut().
我遇到的问题是,如果用户在fadeOut动画中点击按钮,可能会导致我运行该演示的逻辑出现问题.我找到的解决方案是在原始点击功能开始之后,从按钮中解除点击事件的绑定,然后在动画完成后重新绑定.
$('a.next').click(function() { $(this).unbind('click'); ... // calls some functions,one of which fades out the a.next if needed ... $(this).bind('click'); }
上述示例的最后一部分不起作用.点击事件实际上并不重新绑定到锚点.有没有人知道正确的方法来完成这个?
我是一个自学的jquery人,所以一些较高级别的东西,如unbind()和bind()都在我的头上,而jquery文档并不是很简单,让我明白.
解决方法
我只是添加一张支票,看看它是否是动画的第一:
$('a.next').click(function() { if (!$(this).is(":animated")) { // do stuff } });