2011-11-29 5 views
6

は、コードの左から増加していると不透明度は0.25になります明らかである小さなコードjqueryアニメーション機能はどのように内部的に機能しますか?ここ

<div id="clickme"> 
Click here 
</div> 
<img id="book" src="book.png" alt="" width="100" height="123" 
style="position: relative; left: 10px;" /> 

$('#clickme').click(function() { 
$('#book').animate({ 
    opacity: 0.25, 
    left: '+=50', 
    height: 'toggle' 
}, 5000, function() { 
    // Animation complete. 
    }); 
}); 

です。 jqueryはそうすることができます... jqueryは内部的にループを実行して左を増やし、0.25になるまで不透明度を変更します。指導が必要です。ありがとう

+4

は、自分のためhttps://github.com/jquery/jquery/blob/master/src/を参照してください。 effects.js#L124 – Andrew

答えて

5

タイマを使用して設定された時間に値が徐々に増加(または減少)します。ループを使用することはできません。その場合、メインjsスレッドをブロック/フリーズし、アニメーションが表示されないためです。 js内のすべては、イベントを介して非同期である(またはそうでなければならない)。

関連する問題