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 - 但仅在用户不活动10秒后。这应该很简单,但对于一个以前没有 jQuery 经验的网页设计师来说——这真的很难。相信你的编码员可以在 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 回答