Я использую функцию setTimeout для изменения свойства css. Установите интервал setTimeout ~ 333-500 миллисекунд и установите указатель мыши для Div, чтобы сбросить время ожидания. Затем, при наведении указателя мыши на сам элемент div, снова установите таймер:)
Пример / Ответ:
// timer for hiding the div
var hideTimer;
// show the DIV on mouse over
$("#show_div").mouseover(function() {
// forget any hiding events in timer
clearTimeout( hideTimer );
$("#hello").css('visibility', 'visible');
});
$("#hello").mouseover(function() {
clearTimeout( hideTimer );
$("#hello").css('visibility', 'visible');
});
// set a timer to hide the DIV
$("#show_div").mouseout(function() {
hideTimer = setTimeout( hideHello, 333 );
});
$("#hello").mouseout(function() {
hideTimer = setTimeout( hideHello, 333 );
});
// hides the DIV
function hideHello() {
$("#hello").css('visibility', 'hidden');
}