Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MomentJS代码不会开始新的一周_Javascript_Jquery_Momentjs - Fatal编程技术网

Javascript MomentJS代码不会开始新的一周

Javascript MomentJS代码不会开始新的一周,javascript,jquery,momentjs,Javascript,Jquery,Momentjs,我用的是“MomentJS” 上述代码应该是: -将“星期二上午9点”设置为开始 -将“星期三上午9点”设置为结束 -如果时间在“开始”之前,则显示“开始”的时间 -如果时间在“开始”之后和“结束”之前,则显示“开始”之后的时间 -如果时间在“结束”之后,则应将“开始”和“结束”设置为下周。(因此可以重复) 现在,一切正常。但是,在事件结束后,它不会重复并变为空白。此事件是基本事件。您只设置了值eventStartNewWeek和eventEndNewWeek一次,因此当您将它们分配给其他变量时

我用的是“MomentJS”

上述代码应该是: -将“星期二上午9点”设置为开始 -将“星期三上午9点”设置为结束 -如果时间在“开始”之前,则显示“开始”的时间 -如果时间在“开始”之后和“结束”之前,则显示“开始”之后的时间 -如果时间在“结束”之后,则应将“开始”和“结束”设置为下周。(因此可以重复)


现在,一切正常。但是,在事件结束后,它不会重复并变为空白。

此事件是基本事件。您只设置了值eventStartNewWeek和eventEndNewWeek一次,因此当您将它们分配给其他变量时,不会重新计算该值

$(function() {
function whenIsReset() {
    var now = moment.utc();
    var eventStart = moment.utc().day(2).hour(9).minute(00).second(00).millisecond(00);
    var eventStartNewWeek = moment.utc().day(-4).hour(00).minute(00).second(00).millisecond(00);
    var eventEnd = moment.utc().day(3).hour(9).minute(00).second(00).millisecond(00);
    var eventEndNewWeek = moment.utc().day(-4).hour(9).minute(00).second(00).millisecond(00);

    if (now.isAfter(eventEnd)) {
        eventStart = eventStartNewWeek;
        eventEnd = eventEndNewWeek;
    }
    if (now.isBefore(eventStart)) {
        $('#resettime').text('Resets ' + eventStart.from(now));
    }

    if (now.isAfter(eventStart) && now.isBefore(eventEnd)) {
        $('#resettime').text('Reset ' + eventStart.from(now));
    }
}

whenIsReset();    
setInterval(whenIsReset, 1000);
});
例如,您可以创建函数并在每次需要创建新的eventStartNewWeek或eventEndNewWeek时调用它

eventStart = eventStartNewWeek;
eventEnd = eventEndNewWeek;
function eventStartNewWeek () { 
     return moment.utc().day(-4).hour(00).minute(00).second(00).millisecond(00); 
};

function eventEndNewWeek () { 
    return moment.utc().day(-4).hour(9).minute(00).second(00).millisecond(00);
};

// Assign them
if (now.isAfter(eventEnd)) {
    eventStart = eventStartNewWeek();
    eventEnd = eventEndNewWeek();
}