gpt4 book ai didi

javascript - 当时间用完时,倒计时时钟不会返回。

转载 作者:行者123 更新时间:2023-12-02 19:10:56 24 4
gpt4 key购买 nike

我正在使用此答案中的代码:https://stackoverflow.com/a/6501353/494901

基本上,当计时器结束时,我希望它返回 true 到我的函数,这样当它结束时我只能在它结束后做一些事情。但脚本永远不会返回,它结束了,但它永远不会返回到它所调用的方法。

function countdown( elementName, minutes, seconds )
{
var element, endTime, hours, mins, msLeft, time;

function twoDigits( n )
{
return (n <= 9 ? "0" + n : n);
}

function updateTimer()
{
msLeft = endTime - (+new Date);
if ( msLeft < 1000 ) {
return true;
} else {
time = new Date( msLeft );
hours = time.getUTCHours();
mins = time.getUTCMinutes();
element.innerHTML = (hours ? hours + ':' + twoDigits( mins ) : mins) +
':' + twoDigits( time.getUTCSeconds() );
setTimeout( updateTimer, time.getUTCMilliseconds() + 500 );
}
}

element = document.getElementById( elementName );
endTime = (+new Date) + 1000 * (60*minutes + seconds) + 500;
return updateTimer();
}

最佳答案

传递一个回调函数,如下所示:

countdown("element-id",0,5, function() { alert('done!'); });

function countdown( elementName, minutes, seconds, callback)
{
var element, endTime, hours, mins, msLeft, time;

function twoDigits( n )
{
return (n <= 9 ? "0" + n : n);
}

function updateTimer()
{
msLeft = endTime - (+new Date);
if ( msLeft < 1000 ) {
callback();
} else {
time = new Date( msLeft );
hours = time.getUTCHours();
mins = time.getUTCMinutes();
element.innerHTML = (hours ? hours + ':' + twoDigits( mins ) : mins) +
':' + twoDigits( time.getUTCSeconds() );
setTimeout( updateTimer, time.getUTCMilliseconds() + 500 );
}
}

element = document.getElementById( elementName );
endTime = (+new Date) + 1000 * (60*minutes + seconds) + 500;
return updateTimer();
}

关于javascript - 当时间用完时,倒计时时钟不会返回。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13734128/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com