Ran*_*ath 17 javascript ajax jquery codeigniter fancybox
我正在使用精美的盒子来创建弹出窗口并使用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>
Run Code Online (Sandbox Code Playgroud)
它成功加载页面并完成这些工作.但是,它不是关闭弹出窗体,而是在弹出窗口中加载弹出源窗体.我想在完成工作时关闭弹出窗体并返回到生成弹出窗口的主菜单页面.如何通过弹出窗体的按钮单击实现此目的.
此致,Rangana
小智 7
您可以使用内联呼叫
<input type="button" onclick="$.fancybox.close()" value="CloseFB" />
Run Code Online (Sandbox Code Playgroud)
或者你可以使用所谓的函数
<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" />
Run Code Online (Sandbox Code Playgroud)
在onClickevent中调用函数
小智 5
这是一个旧线程,但我想我会分享我的两分钱。
我在使用 onclick 事件关闭fancybox iframe 时遇到了类似的问题,经过多次尝试,这对我有用:window.parent.jQuery.fancybox.close()
这是使用输入按钮的示例:
<input type="button" class="formbutton" value="Close" onClick="window.parent.jQuery.fancybox.close();" />
Run Code Online (Sandbox Code Playgroud)
同样,我在锚点 (a) 标签上测试了 onlick,效果很好。