如何在动画运行时暂停jquery mouseenter“counter”?

时间:2011-04-30 14:24:08

标签: jquery if-statement mouseleave mouseenter

我遇到了jquery mouseenter和mouseleave的问题。当你将鼠标悬停在它上面以显示链接图片时,我有一个向左滑动的链接按钮。对于更流畅的动画,它在滑回之前等待至少一秒钟。但是当你移动它超过一次时,由于延迟了它的射击 我已经搜索了这个主题好几天但没有解决方案。现在我考虑用一个条件解决这个问题。到目前为止,这是我的代码。

    if( $(".block_dev").is ('animated') ) {} else {  

    $(".border_dev").mouseenter(function() {  
        $(".block_dev").animate({"left": "-=41px"}, "slow")  
                       .wait(); })  
                    .mouseleave(function() {  
        $(".block_dev").animate({"left": "+=41px"}, "slow")  
                       .wait(); }) }  

.wait()是超时脚本。对于if条件,我希望它什么都不做(没有新的mouseenter计数),只有当它完成它应该重新开始,但它不起作用。
谢谢你的帮助!

2 个答案:

答案 0 :(得分:0)

我怀疑你的意思是.is(':animated')因为animated本身并不是一个有效的选择器。 (理论上,选择像<animated ...>这样的标签p会选择<p ...>之类的标签,当然这根本不是你想到的标签。)

答案 1 :(得分:0)

尝试将条件放在事件处理程序中(而不是创建它们),然后使用':animated'(而不是'animated')。