2011-01-27 10 views
2

それは、このような小さなものだ: jqueryで親関数を停止するときにコールバックが停止されないようにしますか?

$("example").hover(function(){ 
     ("example").stop().show(/*More Code*/, callback()); 
    }, function(){ 
     ("example").stop().hide(/*More Code*/, callback()); 
    } 
) 

だから、最初のアニメーションが、それはすべてのアニメーションを停止すると完了し、コールバックをスキップする前にマウスが面積を残していた場合。 stop()を使用してコールバック関数を実行する方法はありますか?

答えて

1

コールバックではなくアニメーションの最後に発生するタイミングのあるsetTimeoutを使用します。

$("example").hover(function(){ 
     $("example").stop().show(1000); 
     setTimeout(function() { /* do something */ }, 1000); 
    }, function(){ 
     $("example").stop().hide(1000); 
     setTimeout(function() { /* do something */ }, 1000); 
    } 
); 

別のオプションではなく、単に.stop().stop(true,true)を使用することです。

これは、キューをクリアし、最後にアニメーションを送信し、コールバックを起動します。

$("example").hover(function(){ 
     $("example").stop(true,true).show(1000); 
    }, function(){ 
     $("example").stop(true,true).hide(1000); 
    } 
); 
関連する問題