2011-04-18 5 views
0

아래 예에서 슬라이드를 사용하고 슬라이드를 사용하여 ul이 (가) 애니메이션으로 표시 될 수 있는지 궁금합니다. 내 혼란은 slideUp/slideDown이 표시하지 않음을 의미하며,이 예제에서는 다른 css 속성 인 visibility를 사용하는 것처럼 보입니다. jsddm_open 함수에서 UL을 슬라이드하고 밀어 내고 싶습니다. 시간 내 줘서 고마워. JQuery와 기능 .slideToggle() 밖으로바운드 이벤트를 사용하는 경우 SlideUp 또는 애니메이션

var timeout = 500; 
var closetimer = 0; 
var ddmenuitem = 0; 

function jsddm_open() 
{ jsddm_canceltimer(); 
    jsddm_close(); 
    dmenuitem = $(this).find('ul').css('visibility', 'visible'); 

} 

function jsddm_close() 
{ if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');} 

function jsddm_timer() 
{ closetimer = window.setTimeout(jsddm_close, timeout);} 

function jsddm_canceltimer() 
{ if(closetimer) 
    { window.clearTimeout(closetimer); 
     closetimer = null;}} 

$(document).ready(function(){ 

$('#menudropdown > li').bind('mouseover', jsddm_open) 
    $('#menudropdown > li').bind('mouseout', jsddm_timer) 

}); 

document.onclick = jsddm_close; 

답변

0

점검 :

http://api.jquery.com/slideToggle/

이것은 당신이 필요 가시성의 현재 상태를 확인하지 않고도 요소를 애니메이션 할 수 있습니다.

EDIT

그것은 가변으로 셀렉터를 할당 및 기능 사이를 통과 할 수있다.

+0

$ ("ul", this) .slideUp(); 또는 $ ("ul", this) .slideDown(); 하지만 시도하자마자 실패했습니다. $ ("ul", this) .slideToggle(); 모든 것이 잘 작동했습니다. –

+0

내가 로컬 바보 인 이유는 내 CSS에서 첨부하지 못했기 때문에 표시가 숨겨져 있기 때문입니다. CSS에서 참조를 visibility 속성으로 제거하고 display 속성을 none으로 설정했습니다. 이것은 내 슬라이드 사용 및 slideDown 사용을 허용했습니다. –

+0

기꺼이 도와 드릴까요? –

관련 문제