Задержать событие парения jQuery?

93
задан Sune S.-T. 15 March 2016 в 17:39
поделиться

3 ответа

Используйте hoverIntent плагин для jQuery: http://cherne.net/brian/resources/jquery.hoverIntent.html

Это абсолютно идеально подходит для того, что Вы описываете, и я использовал его почти на каждом проекте, который потребовал активации наведения мыши меню и т.д.

существует один глюк к этому подходу, некоторые интерфейсы лишены, например, мобильные браузеры состояния 'при наведении курсора' как сафари на iPhone. Можно скрывать важную часть интерфейса или навигации без способа открыть его на таком устройстве. Вы могли обойти это с устройством определенный CSS.

91
ответ дан roborourke 24 November 2019 в 06:18
поделиться

Необходимо проверить таймер на парении. Если это не существует (т.е. это - первое парение), создайте его. Если это существует (т.е. это не первое парение), уничтожьте его и перезапустите его. Установите полезную нагрузку таймера на свой код.

$(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 к спасению

50
ответ дан Community 24 November 2019 в 06:18
поделиться

Вы могли использовать setTimeout () вызов с clearTimeout () на событии mouseOut.

6
ответ дан Dan Monego 24 November 2019 в 06:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: