Задержка jQuery между разрешенным наведением мыши + время, в течение которого мышь должна быть завершена.

Я хочу, чтобы люди перестали наводить курсор мыши на объект, чтобы он не исчезал и не исчезал. На данный момент, если вы будете спамить по нему, он просто создаст журнал событий, которые нужно сделать. Я хочу иметь возможность остановить спам с задержкой (чтобы вы наводили курсор и выключались, но он не зависал и не выключался, скажем, на 3 секунды), а затем я также хочу установить, как долго мышь должна быть на объекте прежде чем он запустит функцию

$(document).ready(function() {
    $(".image").hover(
        function () {
            $(this).find("span").fadeIn("slow");
        }, 
        function () {
            $(this).find("span").fadeOut("slow");
        }
    );
});

person pjiorwierjog    schedule 12.03.2011    source источник


Ответы (2)


Вы можете использовать подключаемый модуль HoverIntent. Быстро и легко!

person EGL 2-101    schedule 12.03.2011

Это очень распространено, лучше всего использовать этот крошечный (1,4 КБ) плагин:

намерение наведения jQuery

Это решает эту проблему, и вы можете указать, как долго. После включения плагина вам просто нужно изменить .hover() на hoverIntent().

Конечно, есть и другие решения, такие как использование метода .stop(), например:

$(".image").hover(
        function () {
            $(this).stop().find("span").fadeIn("slow");
        }, 
        function () {
            $(this).stop().find("span").fadeOut("slow");
        }
);

Если вы хотите узнать об этом больше, прочитайте эту статью: http://www.learningjquery.com/2009/01/quick-tip-prevent-animation-queue-buildup

person amosrivera    schedule 12.03.2011