2009-10-14 7 views
8

私は "#top"と呼ばれるdivを持っています。私はマウスがアイドルであるときに消えてほしいです 3秒間。マウスが再び動くと、それが現れるようにしてください(もちろん退色します)Jquery:マウスがアイドル状態のときに何かをフェードアウトさせる方法。マウスが再び動くと、それはフェードイン!

これを行う方法は誰にも分かりますか?

ありがとうございます。どこか戻り値を保存

答えて

21

使用setTimeout、(再びclearTimeoutときにマウスを移動すると、それをキャンセルします):

var timer; 
$(document).mousemove(function() { 
    if (timer) { 
     clearTimeout(timer); 
     timer = 0; 
    } 

    $('#top:visible').fadeIn(); 
    timer = setTimeout(function() { 
     $('#top').fadeOut() 
    }, 3000) 
}) 

あなたは、これが$(document).ready()内部などをお勧めします。

+0

+1 hehe nice solution ^^ – bastianneu

+0

これは私の仕事のようですが、消えず、マウスの動きで元に戻りません。 – rpivovar

関連する問題