Reb*_*van 4 html javascript jquery
我有一个旋转木马设置,我点击事件绑定到导航箭头.单击它们时,我使用jQuery动画在下一个轮播幻灯片的元素中制作动画,并且由于动画的性质,我使用setTimeout()了几次.
我有一个错误,如果我单击一个箭头,然后快速单击上一个或下一个箭头,动画将因为超时(这个项目中必需的)而混淆,并且在屏幕上不呈现任何内容.我已经看了一段时间了,我认为最好的方法可能是防止其他箭头在当前动画完成之前被点击.
每个箭头被控制click未on:('click', function() ...等:
$("#arrow1").click(function() {...}
Run Code Online (Sandbox Code Playgroud)
我看了看
$("element").off("click");
Run Code Online (Sandbox Code Playgroud)
但由于他们没有使用'on'方法附加,我认为这不会起作用.
我想要的东西:
$("#arrow1").click(function() {
$("#arrow2, #arrow3, #arrow4").off("click");
// do my animations, then
$("#arrow2, #arrow3, #arrow4").on("click");
}
Run Code Online (Sandbox Code Playgroud)
但我还没有能够让它工作.
.off并且.on不按预期工作.该.click方法和其他事件方法使用.on幕后方法来绑定处理程序.在.off没有任何特定处理程序的情况下调用该方法时,它会删除(而不是临时禁用)特定事件的所有绑定处理程序.并且在.on不通过处理程序的情况下调用无效.
在您的情况下,您可以使用标志而不是操纵事件处理程序,这也比(重新)绑定和删除事件处理程序更有效.
| 归档时间: |
|
| 查看次数: |
247 次 |
| 最近记录: |