当有人点击此按钮时,它会禁用10秒
Template.hello.events({
'click input.hack': function () {
var oneMinute = ((10).secondsAfter(this.Date));
Session.set('endingDate',oneMinute);
Meteor.call('hackclick');
},
});
这是根据时间禁用按钮的代码。
Template.hello.helpers({
'disabledBtn': function(){
var eDate = Session.get('endingDate');
var nDate = ((1).secondsBefore(this.Date));
if( nDate <= eDate){
return "disabled"
} else {
return
}
}
});
但这样做意味着你可以刷新浏览器,禁用就会消失。
我尝试使用localStorage,但它不起作用。
'click input.hack': function () {
var oneMinute = ((10).secondsAfter(this.Date));
localStorage.setItem('timerend', oneMinute);
Meteor.call('hackclick');
},
'disabledBtn': function(){
var eDate = localStorage.getItem('timerend');
var nDate = ((1).secondsBefore(this.Date));
if( nDate <= eDate){
return "disabled"
} else {
return
}
}
我甚至试图将现在的时间存储在localStorage中以查看是否有效。但是没有。
任何想法为什么?我应该尝试将其存储在数据库中吗?我认为localStorage更具可扩展性。
答案 0 :(得分:2)
localStorage
将值存储为字符串。一旦检索到保存的项目,您需要将其解析为Date
。
var eDate = localStorage.getItem('timerend');
eDate = new Date(eDate); // do it something like this
您可以看到 fiddle 作为示例。