Я написал четыре функции, чтобы проверить, является ли текущая дата до или после определенной даты (дата1, дата2, дата3, дата4). Первоначально я пытался написать это в одной функции, но она вырвалась бы из функции после первого оператора «if», потому что это было правдой. В моем примере кодирования ниже будет показан div с идентификатором 19700101-p, но не div с идентификатором 20180501-p (потому что, насколько я понимаю, поскольку текущая дата была больше, чем date1, выражение «if» было истинным и существует не было необходимости выполнять операторы «else if» после него.
Для большего контекста у меня есть страница из 19 курсов с кнопками регистрации. Моя цель - написать скрипт, который автоматически «отключит» кнопку регистрации, когда дата истечет. Кроме того, он покажет некоторую дополнительную информацию (например, «Этот класс пройден, следующий класс будет проходить в ххх»).
Есть ли более простой способ написать эту функцию?
$(document).ready(function() {
var current = new Date();
var date1 = new Date("January 1, 1970")
if (current.getTime() > date1.getTime()) {
$('#19700101-f').hide();
$('#19700101-p').show();
}
$('#currentDate').html(current);
$('#date1').html(date1);
});
$(document).ready(function() {
var current = new Date();
var date2 = new Date("May 1, 2018")
if (current.getTime() > date2.getTime()) {
$('#20180501-f').hide();
$('#20180501-p').show();
}
$('#date2').html(date2);
});
$(document).ready(function() {
var current = new Date();
var date3 = new Date("January 7, 2019")
if (current.getTime() > date3.getTime()) {
$('#20190107-f').hide();
$('#20190107-p').show();
}
$('#date3').html(date3);
});
$(document).ready(function() {
var current = new Date();
var date4 = new Date("May 1, 2019")
if (current.getTime() > date4.getTime()) {
$('#20190501-f').hide();
$('#20190501-p').show();
}
$('#date4').html(date4);
});