2011-01-25 78 views

回答

1

您需要创建一个run-a-way计时器,该计时器会在每个鼠标移动时重新启动。

$(document).bind('mousemove', function() { 
    var $somediv = $('#somediv'); 

    return function() { 
     if(!$somediv.is(':visible')) 
      $somediv.fadeIn('slow'); 

     this.tID && clearInterval(this.tID); 
     this.tID = setTimeout(function() { 
      $somediv.fadeOut('slow'); 
     }, 2000); 
    }; 
}()); 

演示http://www.jsfiddle.net/ByrKk/

+0

使用clearTimeout和超时到期时,你应该清楚的tID ,所以在过期后你不清除它。而且,在每次鼠标移动时清除并设置Timeout效率都很低,但这是一个快速解决方案。 – Amir 2011-01-25 21:36:48