JQuery插件SimpleModel保持重新打开动态加载的iframe
我发现了一个类似的问题,但公认的答案不是我想要的: 我想首先动态地将内容加载到iframe中,然后在它完成加载后,使用SimpleModal来显示它。我的问题是,它似乎不断出现 我已经将以下内容链接到一个按钮点击,它会很好地打开(尽管我不确定iframe内容在打开时是否真的完成了加载。)但是在漂亮的关闭动画之后,我看到ajax请求被重复,并且它会弹出打开JQuery插件SimpleModel保持重新打开动态加载的iframe,jquery,iframe,simplemodal,Jquery,Iframe,Simplemodal,我发现了一个类似的问题,但公认的答案不是我想要的: 我想首先动态地将内容加载到iframe中,然后在它完成加载后,使用SimpleModal来显示它。我的问题是,它似乎不断出现 我已经将以下内容链接到一个按钮点击,它会很好地打开(尽管我不确定iframe内容在打开时是否真的完成了加载。)但是在漂亮的关闭动画之后,我看到ajax请求被重复,并且它会弹出打开 $.get('a/zong/299/' + number +"/", function(data) { $(document.body)
$.get('a/zong/299/' + number +"/", function(data) {
$(document.body).append('<iframe id="zong" src='+data+
' width="490" height="350" style="display:none;border:none;"></iframe>');
$('iframe#zong').load(function()
{
$('#zong').modal({
overlayCss: {backgroundColor:"#C4EFFF"},
containerCss:{
...
},
overlayClose:true,
onOpen: function(dialog){
dialog.overlay.fadeIn('slow', function(){
dialog.data.hide();
dialog.container.fadeIn('slow', function(){
dialog.data.slideDown('slow');
});
})
},
onClose: function(dialog){
dialog.data.fadeOut('slow', function(){
dialog.container.hide('slow', function(){
dialog.overlay.slideUp('slow', function(){
$.modal.close();
})
})
})
},
});
});
});
$.get('a/zong/299/'+number+“/”,函数(数据){
$(document.body).append(“”);
$('iframe#zong')。加载(函数()
{
$('#zong')。模态({
覆盖层:{backgroundColor:#C4EFFF},
集装箱船:{
...
},
是的,
onOpen:函数(对话框){
dialog.overlay.fadeIn('slow',function()){
dialog.data.hide();
dialog.container.fadeIn('slow',function()){
dialog.data.slideDown('slow');
});
})
},
onClose:函数(对话框){
dialog.data.fadeOut('slow',function(){
dialog.container.hide('slow',function()){
dialog.overlay.slideUp('slow',function(){
$.modal.close();
})
})
})
},
});
});
});
正如你所见,生活相当复杂;)必须在服务器上生成iframe源,然后加载iframe并在对话失去焦点时销毁它
PS:如果stackoverflow可以对复制粘贴的代码进行自动缩进,那就太好了,这要花很长时间了!;)
我曾尝试添加$('#zong').attr('src','')代码>在onClose函数中,但仍然没有运气,模态对话从不死生物返回
谢谢你的帮助 $.get('a/zong/299/'+number+“/”,函数(数据){
$.get('a/zong/299/' + number +"/", function(data) {
$('<iframe id="zong" src='+data+
' width="490" height="350" style="display:none;border:none;"></iframe>').modal({
overlayCss: {backgroundColor:"#C4EFFF"},
containerCss:{
...
},
overlayClose:true,
onOpen: function(dialog){
dialog.overlay.fadeIn('slow', function(){
dialog.data.hide();
dialog.container.fadeIn('slow', function(){
dialog.data.slideDown('slow');
});
})
},
onClose: function(dialog){
dialog.data.fadeOut('slow', function(){
dialog.container.hide('slow', function(){
dialog.overlay.slideUp('slow', function(){
$.modal.close();
})
})
})
},
});
});
$('').modal({
覆盖层:{backgroundColor:#C4EFFF},
集装箱船:{
...
},
是的,
onOpen:函数(对话框){
dialog.overlay.fadeIn('slow',function(){
dialog.data.hide();
dialog.container.fadeIn('slow',function(){
dialog.data.slideDown('slow');
});
})
},
onClose:函数(对话框){
dialog.data.fadeOut('slow',function(){
dialog.container.hide('slow',function(){
dialog.overlay.slideUp('slow',function(){
$.modal.close();
})
})
})
},
});
});
谢谢。这可能会停止重新出现的对话,但它不会等到iframe加载完成后动画开始。你能把.load事件或onload和模态对话结合起来吗?