2013-02-05 1 views
1

표시/숨기기 기능을 사용자 정의하려고합니다. div의 롤오버에서 다른 div 슬라이드는 커서가 부모 div 위에있는 한 아래쪽으로 계속 기울어 져 있습니다. 마우스가 부모 div 영역을 벗어나면 보조 div가 다시 슬라이드됩니다. 이 코드는이를 수행하지만 마우스 이벤트와 마우스 아웃에서 여러 번 위아래로 움직입니다. 각 이벤트마다 한 번만 수행해야합니다. 어떤 아이디어? 고마워. 이 같은jquery show div가 애니메이션을 중지하지 않습니다.

$(document).ready(function() 
{ 
    $(".slidingDiv").hide(); 
    $(".show_hide").show(); 

    $('.show_hide').mouseenter(function() 
    { 
     $(".slidingDiv").slideToggle(); 
    }); 

    $('.show_hide').mouseout(function() 
    { 
     $(".slidingDiv").slideToggle(); 
    }); 
}); 

답변

0

를 사용하여 각 애니메이션 전에 stop(true) :

$(".slidingDiv").stop(true).slideToggle(); 

사용이 대신하고 작동하는지 알려주세요 :

$(document).ready(function() 
{ 
    $(".slidingDiv").hide(); 
    $(".show_hide").show(); 

    $('.show_hide').hover(
     function() { 
     $(".slidingDiv").stop(true).slideToggle(); 
     }, 
     function() { 
     $(".slidingDiv").stop(true).slideToggle(); 
     } 
); 

}); 

이 더 많은 정보를 위해 jQuery hover()을 확인합니다.

+0

감사하지만, 버그는 여전히있다. 제목의 롤오버 만 ​​제대로 기능을 수행합니다. 나머지 지역은 당신이 볼 수있는 것처럼 실패합니다. http://jsfiddle.net/ophilium/VFBQS/ – user1888574

+0

이제 제대로 작동합니다. 편집 된 코드를 확인하십시오. –

+0

올바른 링크 : http://jsfiddle.net/VFBQS/3/ –

0

신경 쓰지 마세요, 마이크가 저를 때렸습니다. https://stackoverflow.com/a/14698021/1933563

$(".slidingDiv").stop(true).slideToggle();

+0

나를 멈추지 않고 작동하는 것 같습니다 (true). http://jsfiddle.net/BJKFb/ – 75inchpianist

+0

@ 75inchpianist, 여러 번 롤오버 한 다음 마우스 커서를 멀리 가져옵니다. 애니메이션은 계속 될 것입니다 ... –

+0

ahhh i see. 감사합니다. – 75inchpianist

관련 문제