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())