【发布时间】:2018-03-06 03:21:06
【问题描述】:
我有一些带有倒计时代码的 JavaScript,当它达到 0 时,它会显示文本“结束”。
发生这种情况时,我需要在两个 div 上显示块并将一个类添加到另一个 div。
这里是JS代码:
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 ) {
element.innerHTML = "Ended";
} else {
time = new Date( msLeft );
hours = time.getUTCHours();
mins = time.getUTCMinutes();
element.innerHTML = (hours ? hours + 'h ' + twoDigits( mins ) : mins) + 'm ' + twoDigits( time.getUTCSeconds() + 's' );
setTimeout( updateTimer, time.getUTCMilliseconds() + 500 );
}
}
element = document.getElementById( elementName );
endTime = (+new Date) + 1000 * (60*minutes + seconds) + 500;
updateTimer();
}
countdown( "countdown", 1, 5 );
countdown( "countdown2", 100, 0 );
HTML:
<div id="countdown"></div>
这是一个小提琴:https://jsfiddle.net/vek5808u/8/
任何帮助都会很棒
谢谢
【问题讨论】:
-
我看不到 jQuery jsfiddle.net/mplungjan/2L6zx7du
element.innerHTML = "Ended"; document.querySelector(".img-message").style.display="block"; -
尝试为多个类执行此操作,包括显示块和无选项,但它似乎只做一个?所以它只会将样式添加到一个类而不是多个?谢谢
-
看起来你在你的应用程序中使用了 jquery,为什么不在你的计时器中简单地说 $('.messaging').attr('style','display: block') if block?
-
现在隐藏/显示工作正常,我只是使用了不同的类名。倒计时结束后,如何在页面上的某个 div 中添加一个类?
-
@John 你可以用
document.querySelector(".img-container").className += " opacity-overlay";添加一个类,看看我的回答,
标签: javascript html css