2016-05-29 8 views
0

タイマー終了時にカウントダウンタイマーを実行していましたが、divを表示してから一定時間保持してから再開します終了時に一定時間保持して再び再開するdivを表示する方法

たとえば、締め切りになると7日間、divを7日間保持して7日間再カウントします。

時間が終わるとdivが表示されますが、再カウントして何度も表示する方法はわかりませんが、簡単なタイマーを実装できます。リフレッシュ時にタイマーを静的にする方法はわかりませんタイマーがまだここに再び

を文句を言わない再集計を実行していきます私のjsfillderある -

var time = 5; 
 

 
window.setInterval(test, 1000); 
 

 
function test() { 
 
    time -= 1; 
 
    $('#test').html(time); 
 

 
    if (time == 0) { 
 
    $('#test').remove(); 
 
    $('#a').show(); 
 

 
    } 
 

 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div id="test" style="border:1px solid black;width:100px">test 
 

 
</div> 
 

 
<div id="a" style="display:none;"> 
 
    testing 
 
</div>

答えて

1

var time = 5,  // keep this unchanged! 
 
    counter = time; // we'll change this reference instead 
 

 
window.setInterval(test, 1000); 
 

 
function test() { 
 
    counter -= 1; 
 
    $('#test').html(counter); 
 
    if (counter === 0) { 
 
    counter = time; // see? 
 
    // Do something here.... 
 
    } 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div id="test" style="border:1px solid black;width:100px">test</div>

+0

どのように静的にするには?ブラウザをリフレッシュするとタイマーは再カウントされませんか? – Chew

+1

@Chew "再読"は私が理解できるものではありません。つまり、現在のユーザーの訪問時間を保存したいのですか?時間は相対的または絶対的でなければなりませんか? 'localStorage'を使って' new Date() 'を使って日付を比較することができます –

+0

たとえば、時間が3分残っている場合は5分、残り時間の場合は3分ブラウザは3分後にもう一度5分で開始します – Chew

関連する問題