gpt4 book ai didi

javascript - 根据一天中的时间加载不同的链接

转载 作者:行者123 更新时间:2023-11-28 09:42:21 24 4
gpt4 key购买 nike

我需要你的帮助。到处搜索后,我找不到我需要的正确答案。我正在尝试创建一个 javascript 函数来根据一天中的时间更改链接 href 值。 (即,我希望将用户连接到我们帮助台的链接在中部标准时间晚上 11:45 停用,并在中部标准时间上午 7 点激活。)我在网上找到了一个旧函数,可以使其正常工作,但它有一个开始日期,而且我对 javascript 很陌生所以我不知道如何将其更改为仅使用一天中的时间的地方。因此,如果您可以查看代码并建议如何修改它以使其仅在一天内工作,或者也许提供另一种替代方案,我会非常感谢!

<script type="text/javascript">
var startDay = 5; // Start Day: 0 - 6 (Sun = 0, Mon = 1 ... Fri = 5, Sat = 6)
var startHour = 16; // Start Hour: 0 - 23
var startMin = 8; // Start Min: 0 - 59
var endDay = 5; // End Day: 0 - 6 (Sun = 0, Mon = 1 ... Fri = 5, Sat = 6)
var endHour = 16; // End Hour: 0 - 23
var endMin = 10; // End Min: 0 - 59

function alternateLink(linkObj)
{
var startTimeDate = new Date(2012, 01, 01, startHour, startMin, 00);
with (startTimeDate) while (getDay() != startDay) setDate(getDate()+1);
var startTimeDateMsecs = startTimeDate.getTime();

var endTimeDate = new Date(2012, 01, 01, endHour, endMin-1, 00);
with (endTimeDate) while (getDate() < startTimeDate.getDate()) setDate(getDate()+1);
with (endTimeDate) while (getDay() != endDay) setDate(getDate()+1);
var endTimeDateMsecs = endTimeDate.getTime();

var now = new Date();
var currentTimeDate = new Date(2012, 01, 01, now.getHours(), now.getMinutes(), 00);
with (currentTimeDate) while (getDate()<startTimeDate.getDate()) setDate(getDate()+1);
with (currentTimeDate) while (getDay() != now.getDay()) setDate(getDate()+1);
var currentTimeDateMsecs = currentTimeDate.getTime();

if (currentTimeDateMsecs >= startTimeDateMsecs && currentTimeDateMsecs <=endTimeDateMsecs) linkObj.href = 'contactus.php';}
</script>


<img src="default.png" alt="Time Image" id="image_id">

最佳答案

使用getDategetMonthgetFullYear函数:

var now = new Date();
var month = now.getMonth()+1; //return range is 0-11, so add 1
var day = now.getDate();
var year = now.getFullYear();

var startTimeDate = new Date(year, month, day, startHour, startMin, 00);
...
var startTimeDateMsecs = startTimeDate.getTime();

var endTimeDate = new Date(year, month, day, endHour, endMin-1, 00);
...
var endTimeDateMsecs = endTimeDate.getTime();

var currentTimeDateMsecs = now.getTime();

if (currentTimeDateMsecs >= startTimeDateMsecs && currentTimeDateMsecs <=endTimeDateMsecs)
linkObj.href = 'contactus.php';
else
linkObj.href = '#';

关于javascript - 根据一天中的时间加载不同的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12223286/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com