2017-02-15 10 views
0
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要素に格納されているプリセッディング値を取るブレークタイムカウントダウンタイマーが開始されます。2つの機能を切り替える方法は?

私が直面している問題は、 "clock"が "00:00"になった後、カウントダウンタイマーが止まり、 "bk2"の値から再開したいのですが、ブレークタイム機能とクロック機能を切り替えることができません。

+0

は、*という名前の無名関数を見てください*。あなたの時計機能は1つです。 –

+0

あなたはjsfiddleを作れますか? –

答えて

0
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(); 

が可能となり、関数の外でクロックを定義します....

+0

clock()のsetInterval内でbreaktime()を呼び出せません。 –

関連する問題