计时器后的JQuery-else语句

计时器后的JQuery-else语句,jquery,timer,if-statement,Jquery,Timer,If Statement,我有一个div,我想每小时消失一次。但在两小时之间,我希望潜水艇完全消失。我曾尝试使用以下代码执行此操作,但不知道为什么它不起作用: var now = (new Date()).getTime(); var lastTime = 0; var lastTimeStr = localStorage['lastTime']; if (lastTimeStr) lastTime = parseInt(lastTimeStr, 10); if (now - lastTime >

我有一个div,我想每小时消失一次。但在两小时之间,我希望潜水艇完全消失。我曾尝试使用以下代码执行此操作,但不知道为什么它不起作用:

  var now = (new Date()).getTime();
  var lastTime = 0;
  var lastTimeStr = localStorage['lastTime'];
  if (lastTimeStr) lastTime = parseInt(lastTimeStr, 10);
  if (now - lastTime > 1000 *60*60) {
    $('#startup').delay(1500).fadeOut(2000);
  }
  else {
    $('#startup').addClass('nodisplay');
  }

  localStorage['lastTime'] = ""+now;​
目前,else语句中的所有内容都可以正常工作。我只是不知道为什么它不起作用

(ps:css.nodisplay只有display:none;)

更简单的方法。不需要使用
'nodisplay'
类,在淡出发生后,jQuery使用
display:none
显示,此后它将保持隐藏状态


这显示了每小时1.5-3.5秒的元素。你确定那是OP想要的吗?我可能误解了。但这就是我从他的问题中得出结论的原因。谢谢你,但jfriend是对的。我希望淡出动画每小时出现一次,元素在所有其他时间隐藏。这不是我提供的吗?我很困惑。它必须显示才能出现淡出动画,所以我的脚本会显示它,然后每小时淡出一次。它会一直隐藏起来。我加了一把小提琴来演示。
setInterval(function(){
      $('#startup').show().delay(1500).fadeOut(2000);
}, 1000*60*60);