2010-02-09 7 views
2

왼쪽 탐색 기능이있는 시스템에 웹 인터페이스가 있습니다. 내비게이션에서 일부 메뉴를 확장/축소 할 수 있습니다. 나는이처럼 애니메이션 jQuery를 slideUp/slideDown를 사용jQuery 애니메이션이 완료되지 않았습니다 (slideUp/slideDown)

if (enable) 
{ 
    navbar_slide_down = true; 
    $j(l1_folder).slideDown("normal", function() { 
     navbar_slide_down = false; 

     on_navbar_animation_complete(); 
    }); 
} 
else 
{ 
    navbar_slide_up = true; 
    $j(l1_folder).slideUp("normal", function() { 
     navbar_slide_up = false; 

     on_navbar_animation_complete(); 
    }); 
} 

두 애니메이션은 아코디언 같은 효과를 제공하는 동시에 실행합니다. 이것은 거의 모든 경우에 적용됩니다.

지금 발생하는 문제는 콘텐츠 프레임 (탐색과 동일한 프레임이 아님)에서 일부 작업을 수행 한 후 slideDown 및 slideUp 기능이 더 이상 작동하지 않는다는 것입니다. 애니메이션은 시작되지만 거의 즉시 중단되며 콜백은 실행되지 않습니다. 이로 인해 메뉴가 잠길 수 있습니다. FireFox 3.5.7에서만이 문제를 재현 할 수 있습니다 (다른 버전은 괜찮아 보입니다). Firebug를 켜면 문제가 발생하지 않습니다.

jQuery 1.3.2에서 1.4.1로 업그레이드를 시도했습니다.

애니메이션이 실패하고 콜백을 호출하지 않는 이유가 있습니까? jQuery를 사용하여 이것을 어떻게 디버깅 할 수 있습니까?

+0

FireBug가 켜져 있고 꺼져있을 때 작동 할 수있는 이유는 'console.log'입니다. –

+0

로거에 대한 참조를 제거해도 아무 것도 변경되지 않았습니다. – jthompson

답변

0

문제는 시퀀스에 따라 다름 (예 : 클릭 한 다음 중단이 발생 함). 이것은 외부 프레임에 영향을 (그리고 jQuery를 애니메이션이 깨질) 왜 난 아직 확실하지 않다

addEvent(window, 'onbeforeunload', end_page); 

: 나는 첫 번째 페이지에서 문제가 발견

addEvent(window, 'unload', end_page); 

을 그리고 그것을 변경 하지만 내 최고의 추측은 언로드 처리기의 코드가 두 번째 페이지에서 실행되고 어딘가에서 충돌하고 있다는 것입니다.

관련 문제