Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.03.2017, 18:42
Интересующийся
Отправить личное сообщение для BSwan Посмотреть профиль Найти все сообщения от BSwan
 
Регистрация: 24.03.2017
Сообщений: 11

Псевдо класс 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

Заранее благодарен за помощь.
Ответить с цитированием
  #2 (permalink)  
Старый 24.03.2017, 18:53
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от BSwan
(":hover")
такого селектора нет, это ваше изобретение. в целом из сообщения не понял ничего.
Ответить с цитированием
  #3 (permalink)  
Старый 24.03.2017, 19:12
Интересующийся
Отправить личное сообщение для BSwan Посмотреть профиль Найти все сообщения от BSwan
 
Регистрация: 24.03.2017
Сообщений: 11

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

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

Последний раз редактировалось BSwan, 24.03.2017 в 19:17.
Ответить с цитированием
  #4 (permalink)  
Старый 24.03.2017, 19:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от BSwan
mouseover и mouseou, не подходят для решения задачи.
почему?
Ответить с цитированием
  #5 (permalink)  
Старый 24.03.2017, 20:14
Интересующийся
Отправить личное сообщение для BSwan Посмотреть профиль Найти все сообщения от BSwan
 
Регистрация: 24.03.2017
Сообщений: 11

Так как буду применять функцию автоплэя слайдера, то тут применение mouseover не подойдет, потому что при малейшим смещении мышки - сново происходит автоплей.
Ответить с цитированием
  #6 (permalink)  
Старый 24.03.2017, 20:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

BSwan,
mouseenter
mouseleave
Ответить с цитированием
  #7 (permalink)  
Старый 28.03.2017, 17:50
Интересующийся
Отправить личное сообщение для BSwan Посмотреть профиль Найти все сообщения от BSwan
 
Регистрация: 24.03.2017
Сообщений: 11

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

//есть множество '.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?
Ответить с цитированием
  #8 (permalink)  
Старый 28.03.2017, 18:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

BSwan,
не понимаю
Ответить с цитированием
  #9 (permalink)  
Старый 28.03.2017, 18:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

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);
     });
});
  });
Ответить с цитированием
  #10 (permalink)  
Старый 28.03.2017, 18:29
Интересующийся
Отправить личное сообщение для BSwan Посмотреть профиль Найти все сообщения от BSwan
 
Регистрация: 24.03.2017
Сообщений: 11

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Установка цвета через функцию .css() сбрасывает цвет для :hover xintrea jQuery 4 18.08.2012 15:38
если hover то класс сверху Артем125 (X)HTML/CSS 15 22.11.2011 21:57