2017-02-15 2 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 요소에 미리 지정된 분부터 카운트하는 카운트 다운 타이머를 원한다면 "0"이 된 후 "bk2"div 요소에 저장된 미리 정의 값을 취하는 브레이크 타임 카운트 다운 타이머가 시작됩니다.두 기능 간을 전환하는 방법은 무엇입니까?

내가 직면 한 문제는 "시계"가 "00:00"이 된 후에 카운트 다운 타이머가 멈추고 "bk2"의 값에서 다시 시작하려고하지만 브레이크 타임 기능과 시계 기능을 전환 할 수 없다는 것입니다. .

+0

은 *라는 이름의 익명 함수에서보세요 *. 시계 기능이 하나입니다. –

+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(){} 

느릅 나무가

clock(); 

가능하게, 함수의 외부 클럭을 정의합니다 ....

+0

clock()의 ​​setInterval 내에 breaktime()을 호출 할 수 없습니다. –

관련 문제