我正在尝试使用一些JavaScript来获取日期和时间,然后使用一些jQuery来启用/禁用链接。
所以我有这样的东西,
<a href="link.html" title="Link">
<img src="link.gif" alt="link" />
</a>在周五下午4点到周日早上7点之间,我想让它这样说,
<img src="link.gif" alt="link">我怎么能做到这一点呢?
附言。我宁愿有硬编码的链接,而不是有它与JavaScript支持…
发布于 2012-01-02 05:50:25
这是一个工作版本的http://jsbin.com/ahitiv/9/edit#source
function ShowHide()
{
var d = new Date();
var dayofweek = d.getDay();
var hourofday = d.getHours();
if ((dayofweek === 0 && hourofday <= 7) || dayofweek === 6 || (dayofweek === 5 && hourofday >= 16))
{
$("#hello a").click(function(e){
e.preventDefault();});
}
}
$(document).ready(function(){
ShowHide();
});发布于 2012-01-02 05:59:16
只需使用如下代码禁用它,而不是删除锚标记():
function AGoodTime() {
var now = new Date();
var day = now.getDay();
var hour = now.getHours();
var IsBadTimeOnFriday = day == 5 && hour >= 16;
var IsBadTimeOnSaturday = day == 6;
var IsBadTimeOnSunday = day == 7 && hour <= 7;
return !IsBadTimeOnFriday && !IsBadTimeOnSaturday && !IsBadTimeOnSunday;
}
$('.GoodTimes').click(function(event) {
if(!AGoodTime()) {
event.preventDefault();
}
});使用如下的HTML:
<a class="GoodTimes" href="http://www.google.com" target="_blank">test link</a>发布于 2012-01-02 05:38:48
一个javascript解决方案,当日期在指定范围内时,它会将图像移出链接并删除链接:
var d = new Date();
var doDisable = (d.getDay() == 5 && d.getHours() >= 16) || d.getDay() == 6 || (d.getDay() == 0 && d.getHours() < 7);
if (doDisable) {
$('#link img').insertBefore('#link');
$('#link').remove();
}将其放入jQuery-DOM-Ready-Loader中。Here's the jsfiddle。
正如@Origin指出的,这并不阻止用户访问链接的url,它只在支持javascript的浏览器中隐藏链接。
https://stackoverflow.com/questions/8695663
复制相似问题