2016-08-14 6 views
0

マウスクリックに敏感なdivウィッチがあります。ユーザーがこのdivをクリックするとアニメーションが実行され、ページの先頭に移動します。それは私のコードで私はここに別のdivにこのアニメーションを実行した後、クラスをアクティブにする:jqueryでアニメーションを実行した後にクラスを追加する

$(document).ready(function() { 
     $(".data-lock").click(function() { 
      $(this).animate({ 
       bottom: '50%' 
      }); 
      $("back-img").addClass("lock-up"); 
      setTimeout(function() { 
       $(".data-lock").animate({ 
        bottom: '0' 
       }); 
       $("back-img").removeClass("lock-up"); 
      }, 30000); 
     }); 
    }); 
+1

そして、あなたの質問ですか...?あなたの現在のコードで何がうまくいかないかを説明し、[最小限で完全であり、検証可能な例](http://stackoverflow.com/help/mcve)を提供してください。関連するHTMLとCSSを提供できるかもしれませんが、問題を再現できるだけで十分です – blex

答えて

0

アニメーション終了後に呼び出される完全な方法で、受信できるjQueryの.animate()方法:

$(document).ready(function() { 
     $(".data-lock").click(function() { 
      $(this).animate({ 
       bottom: '50%' 
      }, function() { 
       $("back-img").addClass("lock-up"); 

       setTimeout(function() { 
        $(".data-lock").animate({ 
         bottom: '0' 
        }, function() { 
        $("back-img").removeClass("lock-up"); 
        }); 
       }, 30000); 
      }); 
     }); 
    }); 
0

jQuery animateには、アニメーションの仕上げのために提供できるオプションのcomplete関数コールバックがあります。

完全

型:Function()

アニメーションがマッチ>要素ごとに一度と呼ばれる、完了した時点で呼び出す関数。

$(document).ready(function() { 
     $(".data-lock").click(function() { 
      $(this).animate({ 
       bottom: '50%' 
      }, function() { 
       $("back-img").addClass("lock-up"); 
      }); 

      setTimeout(function() { 
       $(".data-lock").animate({ 
        bottom: '0' 
       }, function() { 
        $("back-img").removeClass("lock-up"); 
       }); 
      }, 30000); 
     }); 
}); 
関連する問題