我试图在用户关闭div后将其隐藏24小时。下面的代码可以正常工作。但是,如何使用相同的脚本将其设置为90天而不是24小时?
我尝试添加h*90*24*60*60*1000
,但是没有用。
感谢您的帮助。
//Get current time
var currentTime = new Date().getTime();
//Add hours function
Date.prototype.addHours = function(h) {
this.setTime(this.getTime() + (h*60*60*1000));
return this;
}
//Get time after 24 hours
var after24 = new Date().addHours(10).getTime();
//Hide div click
$('.cookie_panel > span').click(function(){
//Hide div
$(".divclass").fadeOut();
//Set desired time till you want to hide that div
localStorage.setItem('desiredTime', after24);
});
//If desired time >= currentTime, based on that HIDE / SHOW
if(localStorage.getItem('desiredTime') >= currentTime)
{
$('.divclass').hide();
}
else
{
$('.divclass').show();
}
答案 0 :(得分:6)
我尝试添加
h*90*24*60*60*1000
,但是没有用。
这是因为h
表示小时(这就是为什么该方法称为addHours
的原因)。使用它的代码会传入10
(而不是24
)中,因此您将获得未来日期 900 天,而不是 90
从中删除h*
,它将使您有90天的时间。如果您使用固定的时间,我还将更改方法的名称,并且不将任何内容传递给该方法。
答案 1 :(得分:1)
您犯了一个小错误,只需从公式中删除h:(h *)的乘法即可。 它应该给您90天的正确值。
答案 2 :(得分:1)
我认为您可以通过设置适当的日期来达到相同的效果:
nlevels(d[,"A"])
答案 3 :(得分:1)
您可以这样做。我正在共享全部功能。
var currentTime = new Date().getTime();
//Add hours function
Date.prototype.addHours = function(h) {
this.setTime(this.getTime() + (h*60*60*1000));
return this;
}
Date.prototype.addDays = function(d) {
this.setDate(this.getDate() + d);
return this;
}
//Get time after 90 days
var afte90days = new Date().addDays(90).getTime();
var curr_date = new Date(currentTime);
var afte90days_date = new Date(afte90days);