Jquery 如何防止在动画完成之前单击html元素?
我正在使用div上的click事件绑定来展开/折叠div。 展开/折叠是使用Jquery 如何防止在动画完成之前单击html元素?,jquery,jquery-ui,jquery-plugins,jquery-animate,Jquery,Jquery Ui,Jquery Plugins,Jquery Animate,我正在使用div上的click事件绑定来展开/折叠div。 展开/折叠是使用 $('#myid')。设置动画(myfunctiontocollapse/expand)。 例如,现在div的高度为零,我点击div展开它,在展开完成之前再次点击它,调用折叠代码,div变形。 在进行折叠/扩展时,如何防止第二次单击事件?解除单击的绑定,然后作为完成参数的一部分重新绑定处理程序 不清楚动画功能是什么,但是show()可能是一个更好的选择: var myClickHandler = function(el
$('#myid')。设置动画(myfunctiontocollapse/expand)
。
例如,现在div的高度为零,我点击div展开它,在展开完成之前再次点击它,调用折叠代码,div变形。
在进行折叠/扩展时,如何防止第二次单击事件?解除单击的绑定,然后作为完成参数的一部分重新绑定处理程序 不清楚动画功能是什么,但是
show()
可能是一个更好的选择:
var myClickHandler = function(el){
$(el).unbind("click");
$('#myid').show('slow', function() { $("#mytrigger").click(myClickHandler) }
}
$('#mytrigger').click(myClickHandler);
如果您的函数确实是自定义的,那么您也可以对
animate()
执行相同的操作。解除单击的绑定,然后作为完成参数的一部分重新绑定处理程序
不清楚动画功能是什么,但是show()
可能是一个更好的选择:
var myClickHandler = function(el){
$(el).unbind("click");
$('#myid').show('slow', function() { $("#mytrigger").click(myClickHandler) }
}
$('#mytrigger').click(myClickHandler);
如果您的函数确实是自定义的,您也可以使用
animate()
执行相同的操作。您可以检查它是否仍在单击函数中设置动画,然后返回false以防止默认的单击操作和传播
if($('#myid').is(':animated')){
return false;
}
您可以检查它是否仍在单击功能中设置动画,如果仍然设置动画,则返回false以防止默认的单击操作和传播
if($('#myid').is(':animated')){
return false;
}
可以使用jQuery
.stop()
方法停止当前正在运行的动画
下面是一个示例代码
$('#hoverme-stop-2').hover(function() {
$(this).find('img').stop(true, true).fadeOut();
}, function() {
$(this).find('img').stop(true, true).fadeIn();
});
可以使用jQuery
.stop()
方法停止当前正在运行的动画
下面是一个示例代码
$('#hoverme-stop-2').hover(function() {
$(this).find('img').stop(true, true).fadeOut();
}, function() {
$(this).find('img').stop(true, true).fadeIn();
});
您可以使用
.stop(true)
解除单击事件的绑定。您可以使用.stop(true)
解除单击事件的绑定。我不尝试停止动画。如果第二次触发,我尝试停止单击事件。我不尝试停止动画。如果第二次触发,我尝试停止单击事件。