我的javascript计时器逻辑有一些问题。
当一个数字到达0时,我需要更改计时器的不透明度,以及当所有的时间(除了当天的属性也是0 )时,将颜色更改为红色。
我对CSS没有问题,我对计时器的javascript逻辑有问题。我不知道怎么写条件词。也许将所有逻辑封装在一个将被调用的函数中是个好主意,或者使用开关语句。任何帮助都是非常感谢的。
目前,有一个moment.js函数,它每秒钟被调用一次,然后更新一个持续时间对象以显示剩余的时间。
工期对象如下:
let duration = {
days: "0",
hours: 22,
minutes: 24,
seconds: 54
} I also noticed the days property usually return the number as a string
到目前为止,我的条件如下:
switch (duration) {
case duration.days === 0 && duration.hours === 0 && duration.minutes
=== 0 && duration.seconds === 0:
// change all opacities
break;
case duration.days === 0 && duration.hours === 0 && duration.minutes === 0:
// change days, hours and minute opacities
break;
case duration.days === 0 && duration.hours === 0
default:
// change days and hours opacities
}这一问题:

发布于 2018-10-22 03:49:43
我会使用一些if语句,并使其看起来像:
if (duration.days === 0 && duration.hours === 0 && duration.minutes
=== 0 && duration.seconds === 0) {
// change all opacities
}
else if (duration.days === 0 && duration.hours === 0 && duration.minutes === 0)
{
// change days, hours and minute opacities
}
else if (duration.days === 0 && duration.hours === 0) {
// change days and hours opacities
}
else if (duration.days === 0){
//change days opacities
}这应该能解决第一个问题。关于第二个问题,我想了解更多关于您正在使用的框架、vanilla、jquery、react、角或vue的信息。
https://stackoverflow.com/questions/52922070
复制相似问题