2010-03-17 2 views
3

У меня есть DIV, что я связала парение события JQuery для активации slideDown с помощью slideToggle:JQuery slideToggle остается открытым по наведению

<div class="Square"> 
    <div class="RedSquare"></div> 
    <div class="GraySquare"></div> 
</div> 

$("div.RedSquare").hover(
    function() { 
     $(this).siblings("div.GraySquare").slideToggle("fast"); 
    }, 
    function() { 
     $(this).siblings("div.GraySquare").slideToggle("fast"); 
    } 
); 

Он переключает DIV «.GraySquare» прямо под ней. По сути дела, серая коробка скользит вниз от красной коробки. Проблема, с которой я сталкиваюсь, заключается в том, что когда мышь перемещается по серому div, слайд переключается. Я хочу, чтобы он оставался при падении над красным или серым квадратом.

Любая помощь приветствуется.

ответ

7

Изменить это так парить активно на вмещающий «квадрат» DIV:

$("div.Square").hover(
    function() { 
     $(this).find("div.GraySquare").slideToggle("fast"); 
    }, 
    function() { 
     $(this).find("div.GraySquare").slideToggle("fast"); 
    } 
); 
+2

Вы также можете удалить вторую функцию() по методе парения(), так как это просто тумблер эффект. –

+0

@ Lance - Отличная точка. (Хотя, только если вы используете jQuery 1.4) – Alconja

+0

спасибо вам, что это сработало как шарм. Ненависть пропустить легкие вещи! –

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