Javascript 针对一周中的不同日期使用不同设置进行计数器
我需要一个计数器,它可以根据一周中的哪一天,以不同的单位递增来计算数字。 我找到了这个计数器:这是我需要的计数方式,但现在我不知道如何使它根据一周中的某一天改变增量值。 对不起,我的英语很差,希望问题可以理解。 问候Javascript 针对一周中的不同日期使用不同设置进行计数器,javascript,jquery,Javascript,Jquery,我需要一个计数器,它可以根据一周中的哪一天,以不同的单位递增来计算数字。 我找到了这个计数器:这是我需要的计数方式,但现在我不知道如何使它根据一周中的某一天改变增量值。 对不起,我的英语很差,希望问题可以理解。 问候 非常感谢各位的回答,我印象非常深刻。您应该使用setInterval()。在函数块中,声明一些条件,根据一周中的哪一天,将计数增加一个不同的值 要查找一周中的哪一天,请使用new Date().getDay()方法,该方法将根据日期返回从0到6的数字 var date = docu
非常感谢各位的回答,我印象非常深刻。您应该使用
setInterval()
。在函数块中,声明一些条件,根据一周中的哪一天,将计数增加一个不同的值
要查找一周中的哪一天,请使用new Date().getDay()
方法,该方法将根据日期返回从0到6的数字
var date = document.getElementById("date");
var count = 0;
setInterval(function() {
if (new Date().getDay() === 0) { // On Sunday's, increment by 1
count += 1;
}
else if (new Date().getDay() === 1) { // On Monday's, increment by 2
count += 2;
}
else if (new Date().getDay() === 2) { // On Tuesday's, increment by 3
count += 3;
}
else if (new Date().getDay() === 3) { // On Wednesday's, increment by 4
count += 4;
}
else if (new Date().getDay() === 4) {
count += 5;
}
else if (new Date().getDay() === 5) {
count += 6;
}
else {
count += 7;
}
date.innerHTML = count;
},1000);
让我解释一下上面的代码
我有一个id等于date
的空段落,我通过document.getElementById
引用它。我正在页面加载时将计数变量初始化为0
在我的setInterval()
循环结束时,我将count
的结果添加到我的div中。循环每秒运行一次,用1000
表示,这是循环应该运行的毫秒数。你可以把这个换成你喜欢的任何东西
我刚做了一把小提琴
如果你想要更多的干代码,你可以尝试这样的东西
var date = document.getElementById("date");
var count = 0;
setInterval(function() {
count += (new Date().getDay() + 1);
date.innerHTML = count;
},1000);
此解决方案归功于BonesBattle。getDay()返回一周中从0(星期日)开始的当前日期
或者你可以这样做
var daysToIncrementValues = {0: 5, 1:4, 2:3, 3:2, 4:1, 5:9, 6:7} // the values assigned are random here, you can assign whatever value
var todaysIncrementValue = dayToIncrement(new Date().getDay())
更简洁,无需切换。
new Date().getDay()
将为您提供一周中的某一天(0-6)。@RichardHamilton感谢您的解决方案这是我正在寻找的。还有一个问题,如果增量相同,我可以在工作日使用数组吗?还有一个问题:我可以让这个计数器在3个月前以被质疑的方式计数吗?是的,这是一个很好的方法,我只是想尽可能清楚地说明。)@马可斯卡萨格兰德,提图斯·波波维奇-也感谢你的回答。为什么不选择简洁的:count+=newdate().getDay()+1代码>不错,真不敢相信我错过了那个。加1
var daysToIncrementValues = {0: 5, 1:4, 2:3, 3:2, 4:1, 5:9, 6:7} // the values assigned are random here, you can assign whatever value
var todaysIncrementValue = dayToIncrement(new Date().getDay())