1

私はスクリプトを持っています:

http://jsfiddle.net/bXJhe/7/

jQuery(document).ready(function() {

    timer(10)

});

// Timer
var GLOBAL_TIMER;

function timer(intCount) {
    GLOBAL_TIMER = setInterval(function() {

        var intTickLength = 10;

        if (intCount < 10) {
            jQuery('#timer').html('00:0' + intCount--);
            jQuery('#bar').css('width', intCount * intTickLength + 'px');
        } else {
            jQuery('#timer').html('00:' + intCount--);
            jQuery('#bar').css('width', intCount * intTickLength + 'px');
        }

        if (intCount < 0) {
          stopTimer();
        }

    }, 1000);
}

function stopTimer() {
    clearInterval(GLOBAL_TIMER);
}​

intCount*に基づいて進行状況バーの幅をアニメーション化していますintTickLength(もっと良い方法があるのではないでしょうか?)

問題は、カウンターが 1 に達すると、バーの最後のティックが消えることです。カウンターが 0 になるまでそのままにしておく必要があります。ある種のオフセットが必要です。何かアイデアはありますか? 私は js の専門家ではありませんが、1 人になりたいと思っています。

4

1 に答える 1

4

カウンターをデクリメントする前に、バーのサイズを設定します。

jQuery('#bar').css('width', intCount * intTickLength + 'px');
jQuery('#timer').html('00:0' + intCount--);
于 2012-09-08T22:42:28.133 に答える