jQuery 팬시 상자를 닫는 방법 버튼 클릭
저는 팝업을 만들고 iframe을 사용하여 다른 페이지를 로드하기 위해 고급 상자를 사용하고 있습니다.여기 제 코드가 있습니다.
<script type="text/javascript">
$(document).ready(function() {
$('.calendar .day').click(function() {
day_num = $(this).find('.day_num').html();
day_data = prompt('Enter Stuff', $(this).find('.content').html());
if (day_data != null) {
$.ajax({
url: window.location,
type: 'POST',
data: {
day: day_num,
data: day_data
},
success: function(msg) {
location.reload();
}
});
}
});
});
$(document).ready(function(){
$("a.iframeFancybox1").fancybox({
'width' : 800,
'height' : 650,
'overlayOpacity' : '0.4',
'overlayColor' : '#000',
'hideOnContentClick' : false,
'autoScale' : false,
'transitionIn' : 'elastic',
'transitionOut' : 'elastic',
'type' : 'iframe'
});
});
</script>
페이지를 성공적으로 로드하고 작업을 수행합니다.그러나 팝업 양식을 닫는 대신 팝업 자체 내부에 팝업 소스 양식을 로드합니다.작업이 완료되면 팝업 양식을 닫고 팝업이 생성된 메인 메뉴 페이지로 돌아가고 싶습니다.팝업 양식의 단추를 클릭하여 이를 수행하려면 어떻게 해야 합니까?
잘 부탁드립니다, 랑가나
로 불러들입니다.$.fancybox.close();
또한 게시물에서 이 답변을 확인합니다.
http://fancybox.net/faq 에 따르면
- 다른 요소에서 FancyBox를 닫으려면 어떻게 해야 합니까?
그냥 전화하세요.
$.fn.fancybox.close()
온클릭 이벤트에서
그래서 당신은 그냥 추가할 수 있어야 합니다.fn
.
나는 사용해야 했습니다.parent.jQuery.fancybox.close()
내 드루팔 사이트에서 이 일을 제대로 할 수 있게 해주세요.
인라인 통화를 사용할 수 있습니다.
<input type="button" onclick="$.fancybox.close()" value="CloseFB" />
또는 다음과 같은 함수를 사용할 수 있습니다.
<script>
function closeFB() {
// Before closing you can do other stuff, like page reloading
$("#destination_div").load("?v=staff #source_div_with_content");
// After all you can close FB
$.fancybox.close();
}
</script>
<input type="button" onclick="closeFB()" value="CloseFB" />
클릭 시 이벤트의 통화 기능
이것은 오래된 실이지만 나는 내 2센트를 나눠야겠다고 생각했습니다.
나는 온클릭 이벤트를 사용하여 프레임을 닫으면 팬시 박스를 닫는 것과 유사한 문제를 겪고 있었고 많은 시도 끝에 이것이 나에게 효과가 있었습니다: window.parent.j.쿼리.fancybox.close()
다음은 입력 버튼을 사용한 예입니다.
<input type="button" class="formbutton" value="Close" onClick="window.parent.jQuery.fancybox.close();" />
또한 앵커(a) 태그의 onlick을 테스트해보니 정상적으로 작동했습니다.
$.fn.fancybox.close()
버전 2.x에서는 작동하지 않습니다. 실제로 오류가 발생합니다.버전 2.x를 사용하는 경우$.fancybox.close(true)
대신.
나의 닫기 버튼 때문에 닫기 팝업, 닫기 고급 상자 등 다양한 기능이 있습니다.버블링 이벤트를 중지하려면 e.stopPropagation()을 사용해야 합니다.
$('.close-btn').on('click', function(e) {
e.preventDefault();
e.stopPropagation();
$(this).parent().hide();
$.fancybox.close();
});
간단한 솔루션으로 닫을 링크를 찾아 6초(또는 6000밀리초) 만에 종료
setTimeout(function(){
$('.fancybox-close').click();
}, 6000);
이건 내게 효과가 있어요...
<script type="text/javascript" src="../../js/jquery-ui.js"></script>
<script src="../../js/fancybox-2.1.5/jquery.fancybox.js" type="text/javascript"></script>
<script src="../../js/fancybox-2.1.5/jquery.fancybox.pack.js" type="text/javascript"></script>
<link href="../../js/fancybox-2.1.5/jquery.fancybox.css" rel="stylesheet" type="text/css" />
<script lang="javascript">
var J$ = jQuery.noConflict();
function SelectAndClose() {
txtValue = document.getElementById('<%= _browseTextBox.ClientID %>').value;
window.returnValue = txtValue.value;
var isOpera = !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
// Opera 8.0+ (UA detection to detect Blink/v8-powered Opera)
var isFirefox = typeof InstallTrigger !== 'undefined'; // Firefox 1.0+
var isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
// At least Safari 3+: "[object HTMLElementConstructor]"
var isChrome = !!window.chrome && !isOpera; // Chrome 1+
var isIE = /*@cc_on!@*/false || !!document.documentMode; // At least IE6
if (isIE == true) {
//alert("iexcplorer");
parent.J$.fancybox.close();
//document.getElementById("closeFancyInternet").click();//For IExplorer
}
else {
//alert("another one");
document.getElementById("closeFancy").click(); //For Firefox
}
return false;
}
function closeBrowsing() {
document.getElementById("closeFancy").click();
window.close();
return false;
}
</script>
브라우저를 확인하려면 다음 링크를 참조하십시오. http://jsfiddle.net/9zxvE/383/
기본 옵션 data-fancox-close 사용
<div data-fancybox-close class="btn btn-s btn-small">back</div>
팬시박스의 이벤트 닫기 버튼을 사용합니다.
document.getElementsByClassName("fancybox-item fancybox-close")[0].click();
언급URL : https://stackoverflow.com/questions/4398740/how-to-close-a-jquery-fancybox-from-button-click
'programing' 카테고리의 다른 글
우리는 언제 멀티프로세싱을 호출해야 합니까?수영장. 가입? (0) | 2023.08.25 |
---|---|
문자열을 일치시켜 SQL에서 두 테이블을 비교하는 가장 좋은 방법은 무엇입니까? (0) | 2023.08.25 |
회전하는 방법회전하는 방법90도? (0) | 2023.08.25 |
여러 주석을 한 번에 표시하도록 MKMapView 배치 (0) | 2023.08.25 |
jQuery를 사용하여 AJAX HTTPS GET 요청을 만드는 방법 (0) | 2023.08.25 |