時々インクリメントしたい要素がページにあります。
<p class="count">28</p>
私のJavaScript内には、5秒ごとに1回実行され、サーバーから新しい(より高い)番号を非同期的に取得する間隔があります。これは、カウンターの線に沿っていくらか機能します。
setInterval(function(){
$.post("getcount.php", function(num){
latestNum = num;
});
}, 5000);
非同期リクエストが数値56をプルダウンする場合、段落テキストが28から56に変更され、増分中に多くの(またはほとんどの)中間体が表示されるようにしたいと思います。私が現在行っているのは、段落テキストとローカル変数を常にチェックするための別の間隔を設定することです。段落テキストが変数値よりも小さい場合は、1ずつ増加します。これは0.5秒ごとに行われます。
setInterval(function(){
currNum = Number( $(".count").text() );
if (currNum < latestNum)
$(".count").text( currNum + 1 );
}, 50);
私の質問はこれです:インターバルを絶えず実行せずにこれを行うためのより良い方法はありますか?これは、非同期リクエストの応答から呼び出すことができるアニメーションインクリメントであり、2つの数値が値に達すると停止しますか?また、2つの数値の値が一致する前に、次の要求が行われる可能性があることにも注意してください。
集団はこれをどのように行いますか?