저는 빌드 한 타이머에 대한 일시 중지 기능을 수행 중이며 조금 갇혀 있습니다.자바 스크립트 날짜 + 밀리 초
는 즉시 타이머가 시작되면, 나는 밀리 초 단위로 현재 날짜를 캡처 : 사용자가 일시 중지를 클릭 한
if(!begin){
begin = Date.now();
}
되면, 그 다음 밀리 초 단위로 현재 날짜를 얻을 것이다.
// Pause the timer
function pause(){
console.log('Begin : ' + begin) //Begin : 1467580324524
console.log('End: ' + currentDate().getTime()) //End: 1467580329936
console.log('Difference: ' + parseInt(begin - currentDate().getTime())) //Difference: -5414
clearInterval(interval);
}
은 이제 시작 시간 (밀리 초)를 포함하고 시간을 중지 difference
라는 변수가 있습니다.
사용자가 "Resume"을 클릭하면 현재 날짜를 가져 와서 우리가 얻은 밀리 초 차이를 추가해야합니다. 그런 다음 현재 시점에서 새 시점을 사용하여 타이머를 다시 시작해야합니다.
어떻게 새 시작 지점을 얻기 위해 현재 날짜에 밀리 초를 추가 할 수 있습니까?
나는 운없이 이런 식으로 뭔가를 시도 :var mili = 4512;
var newDate = new Date(mili*1000);
UPDATE : 당신은 내가 함께 일하고 무엇을 볼 수 있도록 여기 내 타이머 코드에 대한 링크입니다. https://jsfiddle.net/3dweffy8/3/
나는 간격을 지움으로써 타이머를 멈추었지만,이 시점에서 타이머를 다시 시작하는 방법을 모르겠다.
당신은 당신이 일시 정지 된 곳에서 당신의 타이머를 증가 할 수있을 때 사용자가 일시 중지되는 동안이, 왜 CPU를하지 않는 것이 좋습니다 알고리즘을 소비하는 것입니까? – ProllyGeek
시작 -> 일시 중지 -> 재개 -> 일시 중지 -> 재개 후 예상되는 내용을 제공 할 수 있습니까? 전환의 시간을 합계로 기대하거나 시간의 목록을 기대하며 각각이 n 번째와 (n + 1) 번째 n 상태 사이를 전환 할 시간을줍니다. – thst
@thst - 실제로 그 문제에 부딪 혔습니다. 시작> 일시 중지> 재시작은 정상적으로 작동하지만 다시 일시 중지했다가 다시 시작하면 카운트를 멈추지 않은 것처럼 점프합니다. – SBB