1
function start() {
var work = document.getElementById("work").value;
var rest = document.getElementById("rest").value;
var rounds = document.getElementById("rounds");
var timer = document.getElementById("timer");
function countdown() {
var roundsValue = rounds.value;
while (roundsValue > 0) {
var worktime = setInterval(function() {
timer.value = work + "sec";
work = work - 1;
if (work === 0) {
clearInterval(worktime);
}
}, 1000);
var resttime = setInterval(function(){
timer.value = rest + "sec";
rest = rest-1;
if(rest === 0){
clearInterval(resttime);
}
}, 1000);
roundsValue = roundsValue-1;
}
}
我現在的工作對我的javascript進展,我來到這裏這個問題。我想重複相同數量的工作時間和休息時間,因爲輪次是這樣,但它不能像這樣工作,我不能幫助自己。例如:8輪10秒的工作,然後5秒的休息。它可能無法正常工作,因爲函數不能在WHILE循環中實現。
小提琴:http://jsfiddle.net/shhyq02e/4/
您可以單獨創建此功能,可以調用循環中的作用。 – Vatsal
您可以在循環內創建函數,但請注意它們將在每個步驟重新創建,因此更好地在循環外創建一次。你的代碼似乎不工作,因爲你永遠不會調用'倒計時'功能。 – Oriol
你的代碼有很多錯誤,你需要調用倒數函數,roundValue應該是一個整數,用於比較roundsValue> 0,時間事件是異步的,所以這兩個事件將重合 – sahilbathla