我想防止第二次点击,直到使用绑定和取消绑定完成动画,但它不起作用
I want to prevent a second click from firing until an animation is complete using bind and unbind but it isnt working
我想防止第二次点击,直到动画完成。
$('#moveDown').click(function(){
var currentPos = parseInt($('#blog-slider').css('top'));
if (currentPos < 0) {
$('#moveDown').unbind('click');
$('#blog-slider').animate({'top': currentPos + 140},500, function() {
$('#moveDown').bind('click');
});
}
});
解除绑定工作正常,但动画完成后不会重新绑定,因此动画只运行一次。
我确实看过这里,但这只是证实了"绑定"answers"解除绑定"是获得我需要的功能的方法,我仍然不明白为什么它不起作用。
$('#moveDown').bind('click')
只会触发一次单击,除非您绑定了一个执行某些操作的函数。
一种技术是在元素上设置和取消设置.data
变量,并检查它是否已设置:
$('#moveDown').click(function(){
if (!$('#moveDown').data('clicked')) {
$('#moveDown').data('clicked',true);
var currentPos = parseInt($('#blog-slider').css('top'),10); // always use a radix
if (currentPos < 0) {
$('#blog-slider').animate({'top': currentPos + 140},500, function() {
$('#moveDown').data('clicked',false);
});
}
}
});
相关文章:
- 如何销毁/删除/取消绑定SnapSVG.js
- 取消绑定主干视图事件
- 从父元素取消绑定滚动事件并绑定到子元素
- 使用Re-base时,在React中从状态绑定和取消绑定Firebase
- javascript onchange取消绑定错误|未定义
- 在javascript中取消绑定侦听器
- 在偶数侦听器块中绑定和取消绑定
- 取消绑定angular中的scope属性
- 根据文件类型取消绑定和重新绑定click事件处理程序
- 取消计算列的自定义绑定
- 取消绑定而不是重新绑定
- 取消绑定/绑定单击jquery selectbox插件
- 取消绑定后未提交的表单
- 动态取消绑定eventListeners(垃圾收集)
- 取消绑定父节点和子节点
- 取消绑定由加载jQuery'的外部脚本添加的事件;s的getScript函数
- 正在取消绑定jQuery事件处理程序
- setTimeout vs. 事件绑定/取消绑定;什么更有效
- 真正阻止元素绑定-取消绑定元素-AngularJS
- 元素上单击事件的重复绑定-取消绑定