如果今天的day
有一个已过期的endTime
,如何将明天的day
startTime
和endTime
插入setupOrderingNotAvailable
函数的内容消息中? 现在,消息setupOrderingNotAvailable
说"...明天从上午 11:00 到晚上 9:00",但并非每天都如此;这就是我想插入明天时代的地方。
法典
var days = {
'1': {startTime: '4:00 PM', endTime: '8:00 PM'},
'2': {startTime: '11:00 AM', endTime: '9:00 PM'},
'3': {startTime: '11:00 AM', endTime: '9:00 PM'},
'4': {startTime: '11:00 AM', endTime: '4:00 PM'},
'5': {startTime: '11:00 AM', endTime: '10:00 PM'},
'6': {startTime: '12:00 PM', endTime: '10:00 PM'},
'7': {startTime: '12:00 PM', endTime: '8:00 PM'},
};
var curr_day = new Date().getDay();
var curr_time = getval();
var orderIsAvailable = false;
var day = days[curr_day];
//
function setupOrderingAvailable() {
document.querySelector('#alert-success').onclick = function() {
$.sweetModal({
content: '<h2>Online Ordering is Available!</h2>' +
'Please click the button below to begin your online order.' +
'<div class="sweet-modal-buttons"><a href="http://pizzospizzeria.hungerrush.com" target="_blank" class="button greenB">Start Order</a></div>',
// icon: $.sweetModal.ICON_SUCCESS
});
};
}
// Need to make this a function that inserts tomorrows startTime and endTime into message if todays endTime has passed
function setupOrderingNotAvailable() {
document.querySelector('#alert-success').onclick = function() {
$.sweetModal({
content: '<h2>Online Ordering is Not Available</h2>' +
'Online ordering will be available again tomorrow from 11:00am to 9:00pm',
buttons: [{
label: 'Close',
classes: 'redB'
}]
});
};
}
if (day) {
if (get24Hr(curr_time) > get24Hr(day.startTime) && get24Hr(curr_time) < get24Hr(day.endTime)) {
orderingIsAvailable = true;
} else {
document.querySelector('#alert-success').onclick = function() {
$.sweetModal({
content: '<h2>Online Ordering is Not Available</h2>' +
'Online ordering will be available again tomorrow from 11:00am to 9:00pm',
buttons: [{
label: 'Close',
classes: 'redB'
}]
});
}
}
}
if (orderingIsAvailable) {
setupOrderingAvailable();
} else {
setupOrderingNotAvailable();
}
我通过确定开始和结束时间的时间(以毫秒为单位(稍微清理了时间比较代码。这允许更清晰地(IMO(将现在的时间作为数字与开始和结束时间进行比较。从 Date 对象返回的 day 整数范围为 0-6,所以我也更新了它。
从那里你做比较,如果现在不能订购
这是一个小提琴,尽管去除了sweetModal方面,但无论您如何显示它,字符串的创建都是一样的。
https://jsfiddle.net/wx97g6x1/2/
var days = {
0: {
startTime: '4:00 PM',
endTime: '8:00 PM'
},
1: {
startTime: '11:00 AM',
endTime: '9:00 PM'
},
2: {
startTime: '11:00 AM',
endTime: '9:00 PM'
},
3: {
startTime: '11:00 AM',
endTime: '4:00 PM'
},
4: {
startTime: '11:00 AM',
endTime: '10:00 PM'
},
5: {
startTime: '12:00 PM',
endTime: '10:00 PM'
},
6: {
startTime: '12:00 PM',
endTime: '8:00 PM'
}
};
var now = new Date();
var time = now.getTime();
var day = days[now.getDay()];
var startToday = Date.parse(now.toDateString() + ' ' + day.startTime);
var endToday = Date.parse(now.toDateString() + ' ' + day.endTime);
function setupOrderingAvailable() {
console.log('Online Ordering is Available!');
}
function setupOrderingNotAvailable() {
var tomorrow = days[now.getDay() + 1];
console.log('Online ordering will be available again tomorrow from '+ tomorrow.startTime +' to '+ tomorrow.endTime)
}
if (time > startToday && time < endToday) {
setupOrderingAvailable();
} else {
setupOrderingNotAvailable();
}
<</div>
div class="one_answers"> 查看模板文字
const days = {
'1': { start: 1, end: 2 },
'2': { start: 3, end: 4 }
}
const string = `day 2 starts at: ${days['2'].start} and ends at: ${days['2'].end}`
console.log(string); // "day 2 starts at: 3 and ends at: 4"
除了使用每天的"值"比前一天大 1 的事实。