Javascript.RU

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

mouseover срабатывает только для первого тега
Здравствуйте! У меня есть код для табов, при наведении на таб присваивается класс active, если убрать мышку с таба, то класс убирается. Проблема в том, что если я убираю мышку с любого таба кроме первого, то класс active не убирается, если я наведу мышкой на первый элемент, то для него срабатывает
$(function() {
 $('#common-block-team').on('mouseover', '#team:not(.active)', function() {
    $(this)
      .addClass('active').siblings().removeClass('active')
      .closest('#common-block-team').find('.personal-text').removeClass('active').eq($(this).index()).addClass('active');
      $('.personal-text2').css("display", "none");
  }),

 $('#common-block-team').on('mouseleave', function() {
    $(this)
      $('#team').removeClass('active');
      $('.personal-text').removeClass('active');
      $('.personal-text2').css("display", "block");
  });

});

})(jQuery);
Ответить с цитированием
  #2 (permalink)  
Старый 23.06.2019, 19:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от Julia1991
$('#common-block-team')
это только один элемент!!!
замените id на class и строка 10 в "воздухе висит"
Ответить с цитированием
  #3 (permalink)  
Старый 23.06.2019, 19:19
Профессор
Отправить личное сообщение для Julia1991 Посмотреть профиль Найти все сообщения от Julia1991
 
Регистрация: 13.08.2017
Сообщений: 167

Исправила, но также не убирается класс active у всех элементов кроме первого
$(function() {
 $('.common-block-team').on('mouseover', '#team:not(.active)', function() {
    $(this)
      .addClass('active').siblings().removeClass('active')
      .closest('.common-block-team').find('.personal-text').removeClass('active').eq($(this).index()).addClass('active');
      $('.personal-text2').css("display", "none");
  }),

 $('.common-block-team').on('mouseleave', function() {
      $('#team').removeClass('active');
      $('.personal-text').removeClass('active');
      $('.personal-text2').css("display", "block");
  });

});

})(jQuery);
Ответить с цитированием
  #4 (permalink)  
Старый 23.06.2019, 20:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Julia1991,
в строке 10 выбран один элемент, по селектору # ищется только один элемент! на нормальной странице все id разные, иначе используют классы.
Ответить с цитированием
  #5 (permalink)  
Старый 23.06.2019, 20:16
Профессор
Отправить личное сообщение для Julia1991 Посмотреть профиль Найти все сообщения от Julia1991
 
Регистрация: 13.08.2017
Сообщений: 167

Теперь всё работает, большое спасибо!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
class для mouseover neitherknows jQuery 4 03.03.2017 06:37
виджет, только сторона клиента (JS, JQUery, работа с датами, масштабирование) eugen35 Работа 4 31.07.2014 09:50
поиск классов внутри тега yozuul jQuery 24 14.06.2013 22:00
Нажатие по дате в календаре срабатывает только со второго клика afr0 Events/DOM/Window 4 31.10.2012 13:39
jQuery UI Datepicker включается только со второго клика по инпуту, нужно с первого adelante jQuery 3 07.07.2012 14:53