2015-04-13 2 views
0

У меня есть div в div с прокладкой.Наведите указатель мыши на инкапсуляцию jquery и div

Как это: http://jsfiddle.net/qevoxh5f/3/

Это очень очень странно, потому что это jsfiddle минималистская копия моего проекта, и у меня есть другой результат ...

В моем проекте, когда моя мышь находится на календарный div, зависание работает, но когда я решаю перейти к clndr div (внутри div div календаря), jQuery решает удалить класс и немедленно выполнить его сброс, что дает небольшой эффект мигания ...

И странно , это работает правильно на jsfiddle (на chrome и firefox) ... И еще хуже: эффект зависания только в моем проекте на Google Chrome.

http://media.giphy.com/media/26BkMl08chKm9kq5O/giphy.gif GIF моей проблемы

Есть идеи?

$('#calendar').mouseover(function() { 
    $(this).addClass('hover-month') 
}).mouseout(function() { 
    $(this).removeClass('hover-month') 
}); 

$('.week').mouseover(function (e) { 
    e.stopPropagation() 
    $(this).addClass('hover-week') 
}).mouseout(function() { 
    $(this).removeClass('hover-week') 
}); 
+0

Добавить "булево" переменной при наведении курсора мыши и ограничить события, которые происходят:.!
'$ ('# календарь') MouseOver (функция() { если (childMouseovered) { $ (это) .addClass ('парения месяца');. }} ) MouseOut (функция() { $ (это) .removeClass ('парения месяца') }); '
' $ («.week»). mouseover (функция (e) { e.stopPropagation() $ (это) .addClass ('hover-week'); childMouseovered = true; }). Mouseout (function() { $ (this) .removeClass ('hover-week') childMouseovered = false; }); ' – victor175

+0

просто' $ ('# calendar'). Hover (function() {$ (this) .toggleClass ('hover-month')}); 'и' $ ('. week'). hover (function() {$ (this) .toggleClass ('hover-week')}); ' –

+0

Ty JQuery King, но с этим кодом, когда я начинаю с моей мыши внутри div в календаре, эффект зависания отменяется :) И я не хочу, чтобы календарный div оставался нависшим, когда я выбираю div внутри, это почему я использовал stopPropagation – Anti

ответ

0
$('#calendar').hover(function() { 
    $(this).toggleClass('hover-month') ; 
}); 

$('.week').hover(function() { 
    $(this).toggleClass('hover-week'); 
    $('#calendar').toggleClass('hover-month'); 
}); 
+0

это ответ на ваш вопрос? или вы пытаетесь изменить свой вопрос? – Mysterion

+0

На самом деле это ответ на мой вопрос, но я не могу принять его сегодня – Anti

Смежные вопросы