0

次のコードがあります。カウントダウンは機能しますが、ウィンドウがフォーカスされていないときのタイマーの停止は機能しません。また、ウィンドウにフォーカスがあるときにカウントダウンを再開したいと思います。

以下のコードでは、$(document).blur()イベントは機能しませんが、blur を に置き換えるclick()と機能します。およびドキュメントに問題はblur()ありますか?

var tm;
$(document).ready(function(){    
   function countdown(){ 
         if (seconds > 0) {
            seconds--; 
            $('#timer_div').text(seconds);
            tm = setTimeout(countdown,1000);
            }
        if (seconds<=0){ 
            $('#timer').text('Go');
            }   
        } 

        var seconds = 50;
        $('#timer').html(seconds);
        countdown();

    });
    $(document).blur(function(){
        clearTimeout(tm);
        seconds++;
        $('#timer').text(seconds);

    });
4

2 に答える 2

3
var tm;
$(document).ready(function(){    
   function countdown(){ 
         if (seconds > 0) {
            seconds--; 
            $('#timer_div').text(seconds);
            tm = setTimeout(countdown,1000);
            }
        if (seconds<=0){ 
            $('#timer').text('Go');
            }   
        } 

        var seconds = 50;
        $('#timer').html(seconds);
        countdown();

    });
    $(document).blur(function(){
        clearTimeout(tm);
        seconds++;
        $('#timer').text(seconds);

    });
于 2012-04-25T22:10:34.300 に答える
0

これを試して:

var counter;
$(document).ready(function(){

function countdown(){ 

     if (seconds > 0) {
        seconds--; 
        $('#timer_div').text(seconds);
        counter=setTimeout(countdown,1000);
        }
    if (seconds<=0){ 
        $('#timer').text('Go');
        }   
    } 




    var seconds = 50;
    $('#timer').html(seconds);
    countdown();

});


$(document).blur(function(){
    clearTimeout(counter);
    seconds++;
    $('#timer').text(seconds);

});
于 2012-04-25T22:10:58.247 に答える