-1

1時間ごとにフェードアウトしたいdivがあります。しかし、数時間の間に 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; しかありません)

4

1 に答える 1

0
setInterval(function(){
      $('#startup').show().delay(1500).fadeOut(2000);
}, 1000*60*60);

はるかに簡単な方法。クラスは必要ありません'nodisplay'。fadeOut が発生した後、jQuery はdisplay:noneその後非表示のままになります。

http://jsfiddle.net/T3yqP/1/

于 2012-06-12T23:58:16.550 に答える