Используйте hoverIntent плагин для jQuery: http://cherne.net/brian/resources/jquery.hoverIntent.html
Это абсолютно идеально подходит для того, что Вы описываете, и я использовал его почти на каждом проекте, который потребовал активации наведения мыши меню и т.д.
существует один глюк к этому подходу, некоторые интерфейсы лишены, например, мобильные браузеры состояния 'при наведении курсора' как сафари на iPhone. Можно скрывать важную часть интерфейса или навигации без способа открыть его на таком устройстве. Вы могли обойти это с устройством определенный CSS.
Необходимо проверить таймер на парении. Если это не существует (т.е. это - первое парение), создайте его. Если это существует (т.е. это не первое парение), уничтожьте его и перезапустите его. Установите полезную нагрузку таймера на свой код.
$(function() {
var timer;
$('#container a').hover(function() {
if(timer) {
clearTimeout(timer);
timer = null
}
timer = setTimeout(function() {
$('<div id="fileinfo" />').load('ReadTextFileX.aspx',
{filename:'file.txt'},
function() {
$(this).appendTo('#info');
}
);
}, 500)
},
// mouse out
});
});
я держал пари, что jQuery имеет функцию, которая обертывает это все для Вас.
Редактирование : А-ч да, плагин jQuery к спасению
Вы могли использовать setTimeout () вызов с clearTimeout () на событии mouseOut.