jQuery - .is (': hover') всегда возвращает false

0

У меня есть карусель jQuery, который я пытаюсь добавить с интервалом прокрутки без изменения ядра кода. Я делаю это, моделируя щелчок по интервалу, который работает отлично.

Но я не хочу, чтобы щелчок произошел, если пользователь зависает над контейнером карусели.

    var tid = setInterval(carouselClick, 5000);
    var isHovered = jQuery('.jcarousel-clip').is(':hover');
    function carouselClick() {

        if (!isHovered){
            jQuery('#test').html('<h1>'+isHovered+'</h1>');
            jQuery('.jcarousel-next').trigger('click');
        }
    }

Я положил бит #test чтобы проверить состояние зависания, когда функция запускается, и всегда возвращает false.

  • 0
    Я добавлю html структуру, если это необходимо, но я уже дважды проверил наличие опечаток.
Теги:

1 ответ

1
Лучший ответ

Вам нужно установить функцию "Идет" внутри функции щелчка

var tid = setInterval(carouselClick, 5000);

function carouselClick() {
    var isHovered = jQuery('.jcarousel-clip').is(':hover');
    if (!isHovered){
        jQuery('#test').html('<h1>'+isHovered+'</h1>');
        jQuery('.jcarousel-next').trigger('click');
    }
}

Если вы оставите его снаружи, тогда значение isHovered всегда будет одинаковым, что является значением при первом запуске

Ещё вопросы

Сообщество Overcoder
Наверх
Меню