Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Наследуются классы? Как избежать. (https://javascript.ru/forum/jquery/26868-nasleduyutsya-klassy-kak-izbezhat.html)

porvoocio 25.03.2012 22:49

Наследуются классы? Как избежать.
 
Всем привет!
Надеюсь на вашу помощь.
есть такое($row['id'] подсасывается из БД):
Код:

<div class="one_table" id="'.$row['id'].'">
        <div class="table_title"></div>
        <div class="table_description"></div>
        <div class="table_image"></div>
        <div class="table_like" id="table_like'.$row['id'].'"></div>
</div>

у последнего дива table_like установлен в стилях display: none
Нужно сделать что бы при наведении на главный див (one_table) срабатывал у table_like fadeIn(), а когда курсор уводишь - fadeOut().
Пробовал несколько вариантов, например один из них:
Код:

$('.one_table').on('mouseover', function(){
        $('#table_like'+($(this).attr("id"))).fadeIn();
});

$('.one_table').on('mouseout', function(){
        $('#table_like'+($(this).attr("id"))).fadeOut();
});

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

Как этого можно избежать? Нужна реакция только на one_table.
Очень надеюсь на вашу помощь, заранее спасибо.

atlantis 25.03.2012 23:08

$('.one_table').on('mouseenter mouseleave', function(e){
    if ( e.type == 'mouseenter' )
        $('#table_like'+($(this).attr("id"))).fadeIn();
    else 
        $('#table_like'+($(this).attr("id"))).fadeOut(); 
});

porvoocio 25.03.2012 23:14

Клааааассс!!
Спасибо!
Работает!
Теперь компьютер меня отпустит в кровать)
Еще раз спасибо!


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