2013-06-08 5 views
0

나는 다음과 같은 스크립트가 함께 모달 fancybox2.폐회 버튼

<img id="close-button" src="_assets/img/forgetit_btn.jpg" /> 

추가 정보 : 다음

내가 page1.php

$(document).ready(function() { 
    $(".various").fancybox({ 
    maxWidth : '100%', 
    maxHeight : 600, 
    fitToView : false, 
    width  : '90%', 
    height  : '70%', 
    autoSize : false, 
    closeClick : false, 
    openEffect : 'none', 
    closeEffect : 'none', 
    scrolling : 'no' 
    }); 
}); 

에서 fancybox를 호출하는 데 사용하는 코드는 다음입니다 이것은 내가 사용하려고 한 것입니다 fancybox를 여는 page1.php의 코드 :

<a class="various fancybox.iframe" href="page2.php">Inactivate My Profile</a> 

이 맨 위에있는 스크립트 포스트가 page2.php에있다.

+1

글쎄, 지금 사용하고있는 코드의 문제점은 무엇입니까? 그것은 아무것도하지 않습니까? 오류가 있습니까? 컴퓨터를 크래쉬 하시겠습니까? 원숭이가 하늘에서 떨어지게 만드시겠습니까? 무료 와플 줘? 명확히하십시오. – Doorknob

+0

아무 것도하지 않습니다. 죄송합니다. 언급 했어야했다. – lobstahcrushah

+0

"클릭"리스너에서'alert ('test')'을 시도하여 경고가 발생하는지 확인하십시오. – Doorknob

답변

2

내가 iframe에로드되고 있으며 닫는 동안 호출중인 $ .fancybox가 열리고있는 것과 같지 않기 때문이라고 생각합니다. 이것을보십시오 : HTML iframes and javascript.

호출 이벤트를 첨부하려면 호출 페이지의 fancybox에서 afterShow 이벤트를 사용할 수 있습니다. page1.php

afterShow : function() { 
    $('#close-button', $('.fancybox-iframe').contents()) 
    .click(function(event) { 
    $.fancybox.close(true); 
    }); 
} 

에 옵션이 추가 또는 원하는 경우, page2.php에서 당신은 최고 수준의 프레임 범위를 액세스하고 그 방법 fancybox 얻을 필요가있다.

$(function() { 
    $('#close-button').click(function(event) { 
    frames.top.$.fancybox.close(true); 
    }); 
}); 
+0

고마워! 후자의 방법은 내가 먼저 시도한 방식이고 훌륭하게 작동합니다! 나에게 뭔가 가르쳐 줘서 고마워! – lobstahcrushah

+0

'iframe' 내에서'parent. $. fancybox.close (true);'를 사용할 수도 있습니다. – JFK