Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Псевдо класс hover всегда включен. (https://javascript.ru/forum/css-html/68078-psevdo-klass-hover-vsegda-vklyuchen.html)

BSwan 24.03.2017 18:42

Псевдо класс hover всегда включен.
 
Доброго времени суток, дорогие форумчане. Я только начинаю познавать js так что простите, если кому покажется странным мой вопрос. ))
Уже 2-ю неделю мучаюсь...
$( document ).ready(function() {

    //  owl-carousel
    $('.owl-carousel').owlCarousel({
      loop: true,
      items: 1,
      autoplayTimeout: 1000,
      autoplayHoverPause: false,
    });

    var i = 0;
    function handler(){
      
      if ( $('.owl-carousel:hover')) {
        $('#res').html('ок_'+ i++ +'.');
      } else {
        $('#res').html('no_0');
      };
    };

    setInterval( handler, 1000);
  });

})


Почему получается так, что hovor постоянно наведен. Как загрузка прошла так и пошел счет. А мне надо что бы только по наведению было. В дальнейшем та месте счетчика буду использовать автоплей от owl-carousel.

Вариант:
$('.owl-carousel').is(":hover")
выдает ошибку :
Syntax error, unrecognized expression: unsupported pseudo: hover

Заранее благодарен за помощь.

рони 24.03.2017 18:53

Цитата:

Сообщение от BSwan
(":hover")

такого селектора нет, это ваше изобретение. в целом из сообщения не понял ничего.

BSwan 24.03.2017 19:12

Объект(класс "owl-carousel") под наведением [результат] = да/нет

P.S. mouseover и mouseou, не подходят для решения задачи.

рони 24.03.2017 19:48

Цитата:

Сообщение от BSwan
mouseover и mouseou, не подходят для решения задачи.

почему?

BSwan 24.03.2017 20:14

Так как буду применять функцию автоплэя слайдера, то тут применение mouseover не подойдет, потому что при малейшим смещении мышки - сново происходит автоплей.

рони 24.03.2017 20:17

BSwan,
mouseenter
mouseleave

BSwan 28.03.2017 17:50

Спасибо помогло.
Но есть еще один вопросик.

//есть множество '.owl-carousel'-классов.

$('.owl-carousel').mouseenter(function() {
  var timerId = 
   setInterval(function(){
     $('.owl-carousel').trigger('next.owl.carousel',[1000])  //  Как тут можно использовать (this)?
    }, 2000); 
     
     $('.owl-carousel').mouseleave(function(){
       clearInterval(timerId);
     });
});


Или есть может альтернатива this?

рони 28.03.2017 18:14

BSwan,
не понимаю

рони 28.03.2017 18:17

BSwan,
$('.owl-carousel').each(function(indx, el){
var timerId;
$(el).mouseenter(function() {
timerId = setInterval(function(){
     $(el).trigger('next.owl.carousel',[1000])  //  Как тут можно использовать (this)?
    }, 2000);

     $(el).mouseleave(function(){
       clearInterval(timerId);
     });
});
  });

BSwan 28.03.2017 18:29

Огромное Вам спасибо!!!
Я не мог найти решения сам...
Спасибо.


Часовой пояс GMT +3, время: 05:48.