3

動き回るブロックをアニメーション化しており、ステップ オプションを使用して、ブール値が true に切り替えられているかどうかをすべてのステップで確認しています。切り替えられた場合は、アニメーションを停止し、アニメーションしていたプロパティを特定の値に設定したいと考えています。ここに私が今持っているコードがあります

$("#block").animate( { bottom: "+=128" },
{ duration:200,
easing: "easeOutCubic",
step: function(){
        if( stopped == true ){
            $("#block").stop().css("bottom", "none");
            $("#block").css("bottom", "5px");
            //setTimeout( function(){ $("#block").css("bottom", "5px"); }, 1);
        }
    },
complete: function(){
        //complete function
    }
}                      

);

コードを 1 ミリ秒でも遅らせれば (コメント行)、動作します。別の方法がない場合は喜んでそれを使用しますが、css プロパティの設定が step オプション内では機能しないのに、タイムアウト関数内では機能する理由を知りたいと思っています。または、ここで基本的な何かが欠けている場合。ご協力いただきありがとうございます。

4

1 に答える 1