2014-11-15 3 views
0

저는 SetInterval을 통해 Pebble.JS를 사용하여 Pebble의 스톱워치 기능을 앱에 구현하려고했습니다. 나는 그것이 권장되지는 않지만 지금은 고정밀도가 필요 없다는 것을 알고있다.페블에 대한 SetInterval에서 버튼 클릭에 어떻게 반응합니까?

스톱워치가 시작되지만 스톱워치를 멈출 수 없습니다. 선택을 누르면 새 화면으로 이동해야합니다.

wind.on('click', 'select', function(e){ 
    var wind2 = new UI.Window(); 
    var textfield = new UI.Text({ 
     position: new Vector2(0, 0), 
     size: new Vector2(144, 30), 
     font: 'gothic-24-bold', 
     text: 'Timer Started!', 
     textAlign: 'center' 
    }); 
    wind2.add(textfield); 
    var textfield2 = new UI.Text({ 
     position: new Vector2(0, 60), 
     size: new Vector2(144, 30), 
     font: 'gothic-24-bold', 
     text: 'PlaceHolder', 
     textAlign: 'center' 
    }); 
    wind2.add(textfield2); 
    wind2.show(); 
    var timerID = 0; 
    window.clearInterval(timerID); 
    timerID = window.setInterval(function(){clockt(textfield2)},1000); 

    wind2.on('click', 'select', function(e){ 
     timerID.clearInterval(); 
     var finaltime = convert(time1); 
     seconds = pad(finaltime[0], 2); 
     minutes = pad(finaltime[1], 2); 
     var strfinaltime = "Total Time: \n" + hours + ":" + minutes + ":" + seconds +"\n" + time1 
     var wind3 = new UI.Window(); 
     var textfield3 = new UI.Text({ 
      position: new Vector2(0, 50), 
      size: new Vector2(144, 30), 
      font: 'gothic-24-bold', 
      text: strfinaltime, 
      textAlign: 'center' 
     }); 
     wind3.add(textfield3); 
     wind3.show(); 
     time1 = 0; 
    }); 
    }); 

답변

0

당신이 멈추지 않는 것이 무엇을 의미하는지 분명히 알지 못했지만 문제를 발견했다고 생각합니다. clearInterval을 두 가지 다른 방법으로 호출했습니다. 두 번째 것을 어떻게 변경했는지 확인하십시오. 해당 섹션에 대한 코드는 다음과 같이 표시되어야합니다.

var timerID = 0; 
window.clearInterval(timerID); 
timerID = window.setInterval(function(){clockt(textfield2)},1000); 

wind2.on('click', 'select', function(e){ 
    window.clearInterval(timerID); // was previously timerID.clearInterval(); 
    var finaltime = convert(time1); 
관련 문제