Javascript 鼠标离开后,jQuery显示隐藏延迟仍在运行
我设置了。延迟停止在每个鼠标上显示效果,但现在它在每个鼠标上显示刚刚延迟的效果 似乎。延迟不是正确的方式来识别鼠标移到最短时间后显示的部分Javascript 鼠标离开后,jQuery显示隐藏延迟仍在运行,javascript,jquery,Javascript,Jquery,我设置了。延迟停止在每个鼠标上显示效果,但现在它在每个鼠标上显示刚刚延迟的效果 似乎。延迟不是正确的方式来识别鼠标移到最短时间后显示的部分 $(document).ready(function(){ $('.article_wrapper').hover( function(){ $(this).find('.actions').delay(800).show(300); }, function(){ $(this).find('
$(document).ready(function(){
$('.article_wrapper').hover(
function(){
$(this).find('.actions').delay(800).show(300);
},
function(){
$(this).find('.actions').hide(200);
});
});
我还可以使用哪些函数?在jQuery 1.9+上,您可以使用这些函数清除应用于特定队列的所有先前延迟:
虽然这仍然没有记录
更新:事实上,为了不破坏隐藏动画,您应该使用clearQueue
在jQuery 1.9+上,可以使用清除应用于特定队列的所有先前延迟:
虽然这仍然没有记录
更新:事实上,为了不破坏隐藏动画,您应该使用clearQueue
不幸的是,这是一个有点恼人的问题。解决这个问题的正确方法是使用setTimeout,这里将详细解释 这可以很容易地根据您的需要进行修改 编辑
正如更好的答案所指出的,这对于动画来说不是必需的,我将把它留在这里,因为它与大多数非动画延迟相关。不幸的是,这是一个有点恼人的问题。解决这个问题的正确方法是使用setTimeout,这里将详细解释 这可以很容易地根据您的需要进行修改 编辑
正如更好的答案所指出的,这不是动画所必需的,我将把它留在这里,因为它与大多数非动画延迟相关。你救了我一天!谢谢你的帮助;如果没有动画链接,则使用.stoptrue、true就足够了,但是如果您添加更多动画,则.finish是未来的证明。您保存了我的一天!谢谢你的帮助;如果没有动画链接,那么使用.stoptrue、true就足够了,但是在添加更多动画的情况下,.finish是未来的证明。我不会使用setTimeout,因为它的实现比使用简单的.finish或.stop更复杂。我完全同意,a.Wolff有一个更好的答案。我不会使用setTimeout,因为它的实现比使用简单的.finish或.stop更复杂。我完全同意,a.Wolff有一个更好的答案。
$(document).ready(function(){
$('.article_wrapper').hover(
function(){
$(this).find('.actions').delay(800).show(300);
},
function(){
$(this).find('.actions').clearQueue().hide(200);
});
});