2010-11-29 12 views
8

Ich habe eine Broadcast-Video-Site mit einem Menü, das versteckt werden sollte, wenn sich die Maus eine Weile nicht bewegt (sagen wir 10 Sekunden). Außerdem sollte es mit der Mausbewegung zurück erscheinen. Was ist der beste Weg, dies zu tun, indem Sie css und jQuery verwenden? Vielen Dank im Voraus.Hide div Element mit jQuery, wenn die Maus für eine gewisse Zeit nicht bewegt wird?

+0

Sie Mausbewegungsereignisse erhalten Sie, wenn die Maus bewegt sich über das Video? Oder verwenden Sie ein Plugin, das alle diese Ereignisse aufhört? Wenn du nicht das beste Plugin verwenden kannst (ich nehme Flash an), zeigt das Video an, dass es auch mit dem Menü umgehen kann. – Douglas

Antwort

20

Werfen Sie einen Blick auf das Ereignis mousemove. Sie können so etwas wie dies versuchen:

var i = null; 
$("#element").mousemove(function() { 
    clearTimeout(i); 
    $("#menu").show(); 
    i = setTimeout(function() { 
     $("#menu").hide(); 
    }, 10000); 
}).mouseleave(function() { 
    clearTimeout(i); 
    $("#menu").hide(); 
}); 

Demo: http://jsfiddle.net/AMn9v/6/

+0

Großartig, genau das habe ich gesucht! Ich schaute auf Mousevove-Ereignis, aber ich konnte einfach nicht herausfinden, wie man ein Timeout in es setzt. Vielen Dank! – Maay

Verwandte Themen