如何在夏季(即https://example.net/summer
)和冬季(即https://example.net/winter
)创建一个到达不同终点的超链接?需要在没有PHP等的情况下完成客户端。假设夏天是从4月15日到9月15日,冬天是从9月16日到4月14日,但是,确切的日期并不重要,如果更容易可以略微改变。
EDIT。由于Quentin Roger提供moment()
建议,我无法真正对此解决方案表示赞赏。
<a id="link" href="javascript:void(0)">Click Me</a>
$("#link").click(function() {
window.location = moment().isBetween(moment("2017-05-01"), moment("2017-09-01"))
?'https://example.net/summer'
:'https://example.net/winter';
});
答案 0 :(得分:2)
您可以在设置href属性
之前进行一些日期比较
window.addEventListener("load", function() {
let anchor = document.getElementById("season_dependant");
// Get current Date:
let date = new Date();
// consider two dates as boundaries, they must be the same year
let start_date = new Date();
start_date.setMonth(3); // month index (-1)
start_date.setDate(15); // day of month
// => 15th, April of current year
let end_date = new Date();
end_date.setMonth(9); // month index (-1)
end_date.setDate(1); // day of month
// => 1st, October of current year
// NOTE: must be start_date < end_date for this to work
if (date > start_date && date < end_date) {
// If inside period:
anchor.href = "/summer";
} else {
// If outside period:
anchor.href = "/winter";
}
});
&#13;
<a id="season_dependant">link</a>
&#13;
答案 1 :(得分:1)
我认为我误解了某些内容,但是如果您想根据日期根据条件更新链接。您可以执行以下操作(使用momentjs)。 我让你改善条件,以确定你是否在夏天;)
if (moment().isBetween(moment("2017-05-01"),moment("2017-09-01"))) {
$("#link").attr('href', "https://example.net/summer").html('summer');
} else {
$("#link").attr('href', "https://example.net/winter").html('winter');
}