我正在使用fancy box创建一个弹出式窗口,并使用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>
它成功地加载了页面并完成了相关工作。但它不是关闭弹出窗口,而是在弹出窗口本身中加载弹出窗口源代码表单。我想关闭弹出窗体时,工作完成,并返回到主菜单页面,从中生成弹出窗口。如何在单击弹出窗体的按钮时实现这一点。
向您致敬,Rangana
发布于 2012-10-08 16:03:32
您可以使用内联调用
<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" />
在onClickevent中调用函数
发布于 2016-09-02 05:59:51
这是一个古老的帖子,但我想我应该分享我的两个观点。
我在使用onclick事件关闭fancybox iframe时遇到了类似的问题,在多次尝试之后,这为我解决了这个问题: window.parent.jQuery.fancybox.close()
下面是一个使用输入按钮的示例:
<input type="button" class="formbutton" value="Close" onClick="window.parent.jQuery.fancybox.close();" />
另外,我在一个锚(a)标签上测试了onlick,它工作得很好。
发布于 2012-10-15 22:18:28
$.fn.fancybox.close()
不适用于2.x版,事实上,它会引发一个错误。如果您使用的是2.x版,请尝试使用$.fancybox.close(true)
。
https://stackoverflow.com/questions/4398740
复制相似问题