我需要一個簡單的倒計時器來倒計時30秒,但是我希望30秒鐘之後重新開始倒計時。如何定義一個在Javascript中自動重啓的簡單倒數計時器
倒計時開始只爲一個時間,倒計時不會重新啓動
我更不知道如何做到這一點,這裏是我的代碼:
var i = 1;
function Countdown(options) {
var timer,
instance = this,
seconds = options.seconds || 10,
updateStatus = options.onUpdateStatus || function() {},
counterEnd = options.onCounterEnd || function() {};
function decrementCounter() {
updateStatus(seconds);
if (seconds === 0) {
instance.stop();
counterEnd();
return;
}
seconds--;
}
this.start = function() {
timer = 0;
seconds = options.seconds;
timer = setInterval(decrementCounter, 1000);
};
this.stop = function() {
clearInterval(timer);
};
}
var myCounter = new Countdown({
seconds:5, // number of seconds to count down
onUpdateStatus: function(sec){$('#countdown').html(sec);}, // callback for each second
onCounterEnd: function(){
myCounter.start();
} // final action
});
myCounter.start();
$("#button").click(function() {
myCounter.start();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p id="countdown"></p>
<button type="button" id="button">restart</button>
待辦事項你有任何想法如何解決?
謝謝
你也有一個HTML代碼來顯示? – Sim1 2015-03-25 09:02:09
@ Strange90只是刪除clearInterval(定時器);從this.start =(.. – Molda 2015-03-25 09:15:04
是的,這有效,但倒計時從4開始,而不是5,我編輯的代碼,所以你可以看到片段 – 2015-03-25 09:19:58