Задать вопрос

Как сделать removeclass при mouseleave?

В общем, такая разметка.
<div class="parent">
   <div class="column"></div>
   <div class="column sub" style="display:none"></div>
</div>
Img это блок в первом column. При наведении появляется рядом второй column с классом sub, а родителю добавляет класс hover.
Понимаю, что нужно отталкиваться от того, что нужно убирать класс hover, когда курсор покидает область этого самого hover, но всё как-то мимо. В какую сторону смотреть?
$("img").hover(function () {	   
   $(this).parent().closest('.parent').addClass('hover');
});


jsfiddle.net/zD9NN
  • Вопрос задан
  • 2469 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 2
$('.hover').on('mouseleave', function(){
    $(this).removeClass('hover');
});

Это? Или я задачу не понял.

PS:
// не надо так
// $(this).parent().closest('.parent').addClass('hover');
// вот так можно
$(this).parents('.parent').addClass('hover');
Ответ написан
maddog670
@maddog670
jsfiddle.net/zD9NN/2
$(".img").hover(function () {
    $(this).parent().closest('.parent').addClass('hover');
});

$('.parent').on('mouseleave', function () {
    $(this).removeClass('hover');
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
GM2mars
@GM2mars
$(".img").on("mouseenter", function() {
    $(this).parents(".parent").addClass("hover");
});

$(".img").on("mouseleave", function() {
    $(this).parents(".parent").removeClass("hover");
});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы