jquery ui对话框,打开新对话框并关闭后面的对话框
我的网站有一个页脚,可以打开4个不同的对话框并从独立页面向它们加载内容。jquery ui对话框,打开新对话框并关闭后面的对话框
如果您从搜索引擎输入页脚或键入url,页脚页面可以独立打开。
我有打开的页脚对话框的功能:
function FooterPopup(){
$(document).ready(function(){
$('#footerContactUs').on("click",function(){
var $dialog=$('<div></div>').load($('#footerContactUs').attr('href')).dialog({
close: function(event,ui){$(this).remove();},
autoOpen:false,
width:700,
height:610,
resizable:'false',
modal:true,
show:'blind',
hide:{effect:'blind',duration:300},
dialogClass:'Contact'
});
$dialog.dialog('open');
return false;
});
})
}
独立页面有链接,在一个不同的函数打开另一个对话框,
,所以我有2的情况:
1.dialog在另一个对话框上打开。
2.dialog从独立页面打开。
代码:
function Consult(){
$(document).ready(function(){
$('.ConsultHotels').on("click",function(){
var $dialog=$('<div></div>').load($('.ConsultHotels').attr('href')).dialog({
modal:true,
close: function(event,ui){$(this).remove();
$('.ui-datepicker').remove();},
autoOpen:false,
width:750,
height:590,
resizable:'false',
show:'blind',
hide:{effect:'blind',duration:300},
open:function(event,ui){$('body').find('.ui-dialog-content').eq(0).dialog("close");},
dialogClass:'ConsultClass'
});
$dialog.dialog('open');
return false;
});
});
}
我的问题是,我不知道如何从第一种情况下关闭“父”对话框,而不在第二种情况下关闭对话框。
请帮忙,
谢谢。
为什么不在打开新对话框之前关闭任何打开的对话框?
$('.ConsultHotels').on("click",function(){
// first close any open dialogs. This approach is used in stead of just doing a .hide()
// because it will invoke any dialog close callbacks.
$('.ui-dialog-titlebar-close:visible').click();
// now initialize your dialog.
var $dialog = $('<div></div>').load($('.ConsultHotels').attr('href')).dialog();
});
谢谢。这种方法工作! – Irena
的唯一的事情是,当我关闭第一个对话框并打开第二个对话框,“.ui-widget-overlay”不会出现。也许这是因为我在做 - close:function(event,ui){$(this).remove();} ,在第一个对话框中,我怎么才能得到“.ui-widget-overlay”? – Irena
在删除它之前销毁对话框小部件,否则它仍然会在内存中初始化.. $(this).dialog(“destroy “).remove(); – PriorityMark
你知道你不需要'$(文件)。就绪(函数(){'这些功能。 –