[英]How to switch between two functions?
var k = 0,
m = 0,
s = 59,
c = 1;
//var session=false;
var arr;
var tick;
function breaktime() {
clearInterval(tick);
k = parseInt(document.getElementById('bk2').innerHTML);
m = k;
s = 59;
if (c < 0)
c = 1;
c--;
if (c >= 0) {
tick = setInterval(function() {
if (m >= 0) { //k--;
//m=k;
if (s >= 10 && m >= 0) {
document.getElementById('clock').innerHTML = m + ":" + s;
s--;
} else if (s >= 0 && m >= 0) {
document.getElementById('clock').innerHTML = m + ":" + "0" + s;
s--;
} else //if(s<=0)
{
m--;
s = 59;
}
//else
//document.getElementById('clock').innerHTML=m+":"+"0"+s;
} else {
document.getElementById('clock').innerHTML = "00:00";
clock();
}
}, 1000);
}
}
document.onclick =
function clock() {
clearInterval(tick);
k = (document.getElementById('clock').innerHTML).toString();
arr = k.split(":");
m = parseInt(arr[0]);
s = parseInt(arr[1]);
if (s >= 10)
document.getElementById('clock').innerHTML = m + ":" + s;
else
document.getElementById('clock').innerHTML = m + ":" + "0" + s;
if (c < 0)
c = 1;
c--;
if (c >= 0) {
tick = setInterval(function() {
if (m >= 0) { //k--;
//m=k;
if (s >= 10 && m >= 0) {
document.getElementById('clock').innerHTML = m + ":" + s;
s--;
} else if (s >= 0 && m >= 0) {
document.getElementById('clock').innerHTML = m + ":" + "0" + s;
s--;
} else //if(s<=0)
{
m--;
s = 59;
}
//else
//document.getElementById('clock').innerHTML=m+":"+"0"+s;
} else {
document.getElementById('clock').innerHTML = "00:00";
breaktime();
}
}, 1000);
}
};
我希望第一個倒數計時器從“ clock” div元素中預定的分鍾開始計數,然后在其變為零后,開始使用間隔時間倒數計時器,該間隔取預定值存儲在“ bk2” div元素中。
我面臨的問題是我的倒數計時器在“時鍾”變為“ 00:00”后停止,我希望它從“ bk2”中的值重新啟動,但是我無法在間隔時間功能和時鍾功能之間切換。
document.onclick=
function clock(){
console.log(clock);//works
console.log(document.onclick);//works
};
console.log(clock);//WORKS NOT
console.log(document.onclick);//works
您的時鍾函數是一個命名的匿名函數 。 它使得匿名函數中的遞歸成為可能。 要在外部訪問它,您必須使用
document.onclick();
但是那是相當糟糕的風格。 或者您這樣做:
clock = document.onclick=function(){}
Wich將在函數外部定義時鍾,從而
clock();
可能....
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.