0

基本的に、クラスの数を表示し、それらをspan要素に表示するクラスカウントシステムがあります。以下はコードです:

$.get('other.html', function(data) {
$('#total').html($('.doc', data).length);
});

これは完全に機能しますが、ページの読み込み時に span 要素に 0 が含まれているため、数値を 1 つずつ増加させる方法が必要です。ここに例があります(ここでは数字が増えています)。

これについて私は試してみsetTimeoutましたが、とにかく機能しないにもかかわらず、単に関数を遅らせて終了番号を表示することをリリースしました。または同様のものが使用されていると聞いperiodicalたことがありますが、サンプル ソース コードでこれを見つけることができませんでした。

さらに下品な表現で申し訳ありません。私の言いたいことがわからない場合は、質問してください。言い換えるか、より良い例を見つけます。

4

2 に答える 2

0

重要なのは、終了する前に自分自身を呼び出すために setTimeout を設定する必要がある数を増やす関数です。このようにして、常に再度呼び出されます。インクリメントを停止するオプションが必要な場合は、グローバル変数を追加できます。関数は、その変数が true の場合にのみ新しいタイムアウトを設定します。

例:

var doIncrement = true;
var numberToIncrement = 0;

function increment {
    numberToIncrement++;
    $('#mySpan').text(numberToIncrement);
    if (doIncrement) {
        setTimeout(increment, 1000);
    }
}
于 2013-04-20T18:39:54.630 に答える
0

setInterval一定の時間間隔でコードを実行できる関数を使用できます。clearIntervalタスクを停止できます。

http://jsfiddle.net/d52Pw/

var $totalEl = $('#total');

$.get('other.html', function(data) {
    var len = $('.doc', data).length,
        count = 0,
        int = setInterval(function () {
            if (++count === len) {
               //when we reach len, we stop the task
               clearInterval(int);
            }

            $totalEl.html(count);
        }, 500); //run every 1/2 sec
});
于 2013-04-20T18:42:36.800 に答える