2

これは現在私のコードです:

$(function() {          
        $('#header_left').click(function(){
            $('#header_left_info').fadeOut('fast');
            $('#header_left').fadeOut('fast');
            $('#header_left_back').delay(250).fadeIn('fast');
        });
});

(250 ミリ秒の遅延は、フェードが競合しないようにするためです)

とにかく、この既存のコードを変更して、#header_left_back をフェードアウトさせ、#header_left_back をフェードアウトさせたいと思いますが、ユーザーが 10 秒間操作を行わなかった場合のみです。これは簡単なはずですが、jQuery の経験がない Web デザイナーにとっては非常に困難です。コーダーなら、20 秒以内にこれを理解できます。

ありがとうございました!

この質問は回答済みです。ありがとう!

4

2 に答える 2

1

Paul Irishは、jQuery用のidleTimerプラグインを作成しました。とても便利です。

于 2010-08-27T09:27:20.733 に答える
1

私はあなたがこのような何かを求めていると思います:

$(function() {          
  $('#header_left').click(function(){
    $('#header_left_info, #header_left').fadeOut('fast');
    $('#header_left_back').delay(250).fadeIn('fast');
  });

  var timer;
  $(document).bind("keypress mousemove", function() {
    clearTimeout(timer);
    timer = setTimeout(function() {
              $('#header_left_back').fadeOut('fast', function() {
                $('#header_left').fadeIn('fast');
              });
            }, 10000);
  });
});

マウスを動かしたりキーボードを操作したりしないで10秒間経過すると、逆にフェードし、元に戻ります。mousewheel必要に応じて、mousedown必要に応じて特定のイベントを追加できます。イベントが発生するたびに10秒のカウントダウンを開始し、別のイベントが発生した場合はタイムアウトをクリアして10秒以上開始するため、アイドル状態が10秒だけでフェードが逆に発生します。

于 2010-08-27T09:29:35.113 に答える