2010-11-29 2 views
8

У меня есть сайт для трансляции видео с меню, которое должно быть скрыто, когда мышь не движется некоторое время (скажем, 10 секунд). Кроме того, он должен появиться назад, с перемещением мыши. Каков наилучший способ выполнить это, используя css и jQuery? Спасибо заранее.Скрыть элемент div с помощью jQuery, когда мышь не движется в течение определенного периода времени?

+0

Вы получаете события перемещения мыши, когда указатель мыши перемещается над видео? Или вы используете плагин, который останавливает все эти события? Если вы не можете использовать какой-либо плагин (я предполагаю, что Flash), он покажет видео для обработки меню. – Douglas 2010-11-29 16:40:58

ответ

20

Взгляните на событие mousemove. Вы можете попробовать что-то вроде этого:

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

Демо: http://jsfiddle.net/AMn9v/6/

+0

Отлично, вот что я искал! Я смотрел на событие mousemove, но просто не мог понять, как положить в него тайм-аут. Большое спасибо! – Maay 2010-11-29 16:58:40

Смежные вопросы