我需要一个计数器,根据星期几的不同,每个刻度的数字会增加不同的数字。 我找到了这个计数器:https://stackoverflow.com/a/3346311它正在计算我需要的方式,但现在我不知道如何根据星期几来改变INCREMENT值。 抱歉我的英语很差,希望问题是可以理解的。 此致
非常感谢所有人的答案,我印象非常深刻。
答案 0 :(得分:1)
Date.getDay()
返回从0开始的星期当天(星期日)
var INCREMENT;
var dayOfWeek = new Date().getDay();
switch(dayOfWeek){
case 0: //Sunday
INCREMENT = 2; //Add your number
break;
case 1: //Monday
INCREMENT = 3; //Add your number
break;
//...
case 6: //Saturday
INCREMENT = 5; //Add your number
break;
}
答案 1 :(得分:1)
Or you could do it like this
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())
More concise, and no switch.
答案 2 :(得分:0)
您应该使用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
引用它。我在页面加载时将count变量初始化为0。
在我的setInterval()
循环结束时,我将count
的结果添加到我的div中。循环每秒运行一次,由1,000
表示,这是循环应该运行的毫秒数。您可以将其更改为您喜欢的任何内容。
我刚创造了一个小提琴
如果你想要更多的DRY代码,你可以试试这样的东西。
var date = document.getElementById("date");
var count = 0;
setInterval(function() {
count += (new Date().getDay() + 1);
date.innerHTML = count;
},1000);
此解决方案的bonesbrigade