2012-07-12 3 views
1

멋진 마무리 버튼에 사용자 정의 액션을 플러그인하려고하는데 아무 일도 일어나지 않고 있습니다. 왜 그런가요 ??fancybox 2.0.6 닫기 버튼 사용자 정의 액션

내 코드

$(".fancybox-close").click(function(){ 
    $("#main-menu-nav a").removeClass("active"); 
    $("footer").toggleClass("down", 400); 
}); 

답변

1

Fancybox v1은 Fancybox가 닫힐 때 호출되는 onClosed 메서드가있는 API를 제공합니다.
Fancybox v2은 Fancybox를 닫을 때 호출되는 afterClose 메서드가있는 API를 제공합니다.

$("#tip5").fancybox({ 
    'scrolling'  : 'no', 
    'titleShow'  : false, 
    'afterClose'  : function() { 
     $("#main-menu-nav a").removeClass("active"); 
     $("footer").toggleClass("down", 400); 
    } 
}); 

오버레이 Fancybox를 닫 클릭 할 때 호출되어 있는지 확인합니다 사용자 정의 작업을 호출하는이 방법을 사용하기 때문에, 아래와 같이

Tips & Tricks 페이지는이 공용 콜백을 사용하는 방법이있다 버튼 자체는 클릭되지 않습니다.

상태 업데이트 :이 페이지의 당 시몬의 대답, 당신은 당신이하지 않는 한 기대 일을하지 않을 수 있습니다 400의 값 이후 .toggleClass(); 방법에 대한 switch parameter에 문제가있을 수 있습니다 자신의 점을 유의 (주석 상태 등) , 귀하의 사용 jQuery UI.

+1

은 facybox 2 onClosed에서 afterClose로 변경되어 작동합니다. – gidzior

+0

** + 1 ** 사용 가능한 다른 API에 대해 알려 주셔서 감사합니다. 대신 질문의 태그를 변경하여 'fancybox-2'를 반영했습니다. 건배! – arttronics

4

Fancybox는

사용하려고하십시오 당신은 그것의 매개 변수를 정의 할 수 있습니다으로 onClose 콜백이 있습니다

$("#TARGET_ELEMENT").fancybox({ 
'OTHER_PARAM':'OTHER_PARAM_VALUE', 
'onClosed': function() { 
    alert("FIRED_ON_CLOSE"); 
    } 
}); 
코딩

해피!

+0

** + 1 ** 정답으로 응답하는 첫 번째 사용자입니다. 건배! – arttronics

1

$("footer").toggleClass("down", 400);이 유효하지 않은 jQuery 코드 인 경우 toggleClass의 두 번째 매개 변수는 부울 http://api.jquery.com/toggleClass/이어야합니다.

+1

read this http://docs.jquery.com/UI/Effects/toggleClass – gidzior

+0

** 올바른 답변 jQuery UI가 사용되지 않으면 유효하지 않은 jQuery라고 대답하십시오. ** jQuery UI *가 사용 된 경우에만 기간 값이 인식된다는 메시지 주석에 대한 ** + 1 **입니다. Case in point : jQuery'.load();에는 두 가지 메소드가있다! 매개 변수에 따라 *** AJAX 방법 ***이 될 수 있습니다. 건배! – arttronics