提问人:eje211 提问时间:10/17/2010 更新时间:5/3/2019 访问量:72417
jQuery UI:对话框显示/隐藏带有选项的效果
jQuery UI: dialog show/hide effects with options
问:
是否可以在jQuery UI中为对话框的显示和隐藏选项指定选项。
例如,代替:
$('#dialog').dialog({
show: 'fade'
});
像这样:
$('#dialog').dialog({
show: {effect: 'fade', speed: 1000}
});
(当然,上面的代码不起作用。
我真正想使用的是效果内部的“complete”方法,或者回调函数,这样我就可以在效果完成后选择一些文本。
如果有人知道,谢谢。
答:
28赞
Lorenzo
10/17/2010
#1
您可以使用以下功能:
$("#dialog").dialog({
autoOpen: false,
hide: 'fold',
show: 'blind'
});
并设置两种不同的效果来隐藏和显示。
不能使用“complete”方法。至少不是实际发布。该功能计划在 1.9 版中推出
希望对您有所帮助
49赞
Ol'timer
11/2/2011
#2
我不知道如何指定所有选项,但我确实设法指定了速度,这是您在示例中的选项。我这样做如下:
$('#dialog').dialog({
show: {effect: 'fade', duration: 250}
hide: {effect: 'fade', duration: 5000}
});
持续时间是动画将持续的毫秒数。我通过使用 firebug 逐步浏览 javascript 发现了这一点。
评论
0赞
Luboš Miřatský
6/7/2019
这是一个很好的解决方案,但是缺少 show 属性后的逗号。应该显示: {effect: 'fade', duration: 250},
2赞
Fernando Valentini
12/7/2011
#3
要查看每种效果的选项,您可以转到 http://docs.jquery.com/UI/Effects 并单击您想要的效果,现在是指定选项。 举例来说,http://docs.jquery.com/UI/Effects/Bounce
哦,顺便说一句,de Fade Effect 没有任何特定的参数。如果使用“反弹效果”,下面是一个代码示例:
$( '#dialog' ).dialog({
show: {effect: 'bounce', duration: 350, /* SPECIF ARGUMENT */ times: 3}
});
-2赞
Drizzel
8/14/2012
#4
试试这个:
snippet.dialog({
open: function(event, ui) {
snippet.hide();
snippet.fadeIn();
}});
0赞
Dimitrios Kontoulis
11/24/2012
#5
我想补充一点,您可以通过在文档中添加以下内容来指定全局效果持续时间。
$.fx.speeds._default = duration;
持续时间可以是一个选项(“慢”、“快”等)或以毫秒为单位的数字
评论
1赞
Frédéric Hamidi
11/24/2012
在修改这个属性(内部,注意前导下划线)之前,我会三思而后行,因为它会影响页面上所有依赖于 jQuery 的脚本,而不仅仅是你的脚本。
0赞
Dimitrios Kontoulis
12/12/2012
你是对的,它对我有用,因为我使用的效果很少。例如,如果有人使用 ui-tabs,过渡会非常慢,持续时间为 >1000 毫秒
0赞
Stefanidis
5/3/2019
#6
position: { my: “bottom”, at: “center”, of: window} 表示底部向上到已支付窗口的中心
评论