gpt4 book ai didi

jquery - 在 jQuery UI 对话框的 beforeClose 上延迟关闭事件

转载 作者:太空宇宙 更新时间:2023-11-04 15:29:52 25 4
gpt4 key购买 nike

我有以下代码,在 .in.out 类上运行 CSS 动画。我的问题是对话框立即关闭,您根本看不到关闭动画的发生。所以在关闭对话框之前我需要大约 500 毫秒的延迟;

$.extend( $.ui.dialog.prototype.options, { 
modal: true,
open: function() {
$(this).parents('.ui-dialog').removeClass('out').addClass('in');
}
});

$confirm.dialog({

buttons: {

"ok": {
text:'Ok',
click: function() { $(this).dialog('close'); }
},

"cancel": {
text:'Cancel',
click: function() { $(this).dialog('close'); }
}
},

beforeClose: function(event, ui) {

$('.ui-dialog').removeClass('in').addClass('out');

}

}).dialog('widget').appendTo('.dialogWrapper');

我尝试将 return false 添加到 beforeClose 中,然后手动调用 .dialog('close') 函数,但它只是运行无限循环,手动隐藏对话框似乎是浪费代码(更不用说对话框的覆盖层也需要删除)

对于此事,我将不胜感激。

硅。

最佳答案

这是未经测试的,但我想像这样的东西会让你到达你想去的地方???

$.extend( $.ui.dialog.prototype.options, { 
modal: true,
open: function() {
$(this).parents('.ui-dialog').removeClass('out').addClass('in');
}
});

$confirm.dialog({

buttons: {

"ok": {
text:'Ok',
click: function() { closeDialog(this); }
},

"cancel": {
text:'Cancel',
click: function() { closeDialog(this); }
}

}).dialog('widget').appendTo('.dialogWrapper');

function closeDialog(element){
$(element).removeClass('in').addClass('out');
$(element).delay(500);
$(element).dialog('close');
}

关于jquery - 在 jQuery UI 对话框的 beforeClose 上延迟关闭事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13541759/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com