2012-12-05 2 views
0

페이지 내에서 리디렉션되는 페이지 상단에 탐색 메뉴가 있습니다. 그러나 일부 div는 처음에는 숨겨져 있으며 앵커 태그가 브라우저 창을 충분히 멀리 이동시키지 않도록 1 초가 걸립니다. 창을 스크롤하기 전에 div가 보이기를 기다리는 동안 잠시 링크를 지연시키고 싶습니다.jquery를 사용하여 링크를 지연시키고 싶습니다.

div의는

$.slideToggle(1000) 

사용하여 열하고 탐색 메뉴를 사용하는 간단한

<a href='#divid'>link to divid</a> 

답변

0

set timeout 함수를 사용하고 다음 이벤트를 시작하기 전에 지연 시간을 지정하십시오.

$("#divid").bind("click", function() { 
    setTimeout(function() { 
     $("#divid").slideToggle(1000); 
    },1000); 
}); 
0

http://api.jquery.com/slideToggle/ - 문서에 따르면, 거기 당신은 애니메이션이 때 당신이 뭔가를 할 수있는 콜백을 끝난.

그래서, 당신은 같은 것을 할 수 있습니다

$('a').click(function(e){ 
    e.preventDefault(); //this will prevent immediate scrolling 
    $(this.href).slideToggle(1000, function(){ 
            document.location.hash = $(this).attr("id")//now hash will be changed and window should be scrolled to according div. 
            }); 
}); 

이 작동합니다 가정하자.

관련 문제