Javascript 如何反转计数并设置倒计时开始时间?

Javascript 如何反转计数并设置倒计时开始时间?,javascript,timer,local-storage,countdown,Javascript,Timer,Local Storage,Countdown,这个JS脚本执行从零开始的累进计数。相反,我希望JS脚本从设定的时间开始倒数(hh.mm.ss)。请问我该换什么?脚本必须保留localStorage和ID startTime var定时器; var startTime; 函数start(){ startTime=parseInt(localStorage.getItem('startTime')| | Date.now()); setItem('startTime',startTime); 定时器=设置间隔(时钟信号,100); } 函数

这个JS脚本执行从零开始的累进计数。相反,我希望JS脚本从设定的时间开始倒数(hh.mm.ss)。请问我该换什么?脚本必须保留localStorage和ID startTime


var定时器;
var startTime;
函数start(){
startTime=parseInt(localStorage.getItem('startTime')| | Date.now());
setItem('startTime',startTime);
定时器=设置间隔(时钟信号,100);
}
函数clockTick(){
var currentTime=Date.now(),
时间经过=新日期(当前时间-开始时间),
小时=时间流逝。getUTCHours(),
mins=时间流逝。getUTCMinutes(),
secs=timeappeased.getUTCSeconds(),
ms=timeappeased.getutcmillesons(),
display=document.getElementById(“显示区域”);
display.innerHTML=
(小时数>9小时:“0”+小时数)+”+
(分钟>9?分钟:“0”+分钟)+”+
(秒>9秒:“0”+秒);
};
start();

计时器工作,但应从设定的时间开始倒计时。

您可以通过扩展
clockTick()
计算来实现倒计时计时器,以便将
timepassed
计算为“开始时间,减去自倒计时开始以来经过的时间量”

通过引入
countdownDuration
作为
currentTime-startTime
,我们可以通过以下方式生成从
startTime
开始倒计时的coutdown计时器:

countdownDuration = currentTime - startTime
timeElapsed = startTime - countdownDuration
这可以按如下方式引入到代码中:

function clockTick() {
      const currentTime = Date.now(),
        countdownDuration = currentTime - startTime,
        timeElapsed = new Date(startTime - countdownDuration),
        hours = timeElapsed.getUTCHours(),
        mins = timeElapsed.getUTCMinutes(),
        secs = timeElapsed.getUTCSeconds(),
        ms = timeElapsed.getUTCMilliseconds(),
        display = document.getElementById("display-area");

      display.innerHTML =
        (hours > 9 ? hours : "0" + hours) + ":" +
        (mins > 9 ? mins : "0" + mins) + ":" +
        (secs > 9 ? secs : "0" + secs);
};

请问如何设置倒计时开始时间?例如:12:30(hh.mm)。