【问题标题】:Create a cookie for a button and disable it after 10 minutes为按钮创建 cookie 并在 10 分钟后禁用它
【发布时间】:2018-09-04 15:49:54
【问题描述】:

所以我有这个页面,我有一个主按钮,可以将您带到网站内的其他页面。
所以我们有“/”和“/game”。进入 /game 后,还有一个 ID 为 #quest1 的按钮。一旦有人单击该按钮,就会为主按钮 (a.PlayNow) 设置一个计时器,使其变为红色 10 分钟。
问题是我的代码永远不会改变。
我完成了这项工作,但即使经过 10 分钟,按钮也不会恢复正常形式。任何帮助,将不胜感激。 代码如下:

$(function() {
  var last = my_getcookie('lastClicked');
  var current = Math.round(Date.now() / 1000);

  $('#quest1').click(function(){
    my_setcookie('lastClicked', current ,1,0);
  });

  if( last + 600 < current ) {
    // 10 minutes over
    $('a.PlayNow').attr('href','/game').css({'background':'#a7822f','cursor':'pointer'});
    $('a.PlayNow').text('Play Crossroadz!');
  } else {
    // 10 minutes not over
    $('a.PlayNow').removeAttr('href').css({'background':'#b34c4c','cursor':'not-allowed'});
    $('a.PlayNow').text('Time not passed!');
  }
});

【问题讨论】:

    标签: jquery button cookies timer disabled-input


    【解决方案1】:

    我会通过使用计时器来解决这个问题...只需在有人点击您的按钮时拨打buttonPressed()

    var timer;
    
    function buttonPressed()
    {
        // make button red
    
        timer = setInterval(restoreButton, 1000 * 60 * 10);
    }
    
    function restoreButton()
    {
        // make button normal again
        clearInterval(timer);
    }
    

    【讨论】:

    • 所以我只使用$('#quest1').click(function(){buttonPressed();}); 就完成了? (OFC 将更改添加到按钮)
    • 是的,当然要实现使按钮再次变为红色和正常的代码。
    • $('#quest1').click(function(){ buttonPressed(); }); var timer; function buttonPressed() { // make button red $('a.PlayNow').removeAttr('href').css({background:'#b34c4c',cursor:'not-allowed'}); $('a.PlayNow').text('Time not passed!'); timer = setInterval(restoreButton, 1000 * 60 * 10); } function restoreButton() { // make button normal again $('a.PlayNow').attr('href','/game').css({background:'#a7822f',cursor:'pointer'}); $('a.PlayNow').text('Play Crossroadz!'); clearInterval(timer); }
    • 这两个按钮是在不同的页面上吗?
    • 我以为他们是同一个?一个人怎么可能同时出现在两个页面上?用例是什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-11
    • 2012-04-30
    • 1970-01-01
    • 2012-01-06
    • 1970-01-01
    • 2022-01-22
    • 2016-11-14
    相关资源
    最近更新 更多