jQuery UI:对话框显示/隐藏带选项的效果

时间:2010-10-17 02:18:58

标签: jquery-ui

是否可以在jQuery UI中为对话框的show和hide选项指定选项。

例如,而不是:

$('#dialog').dialog({
  show: 'fade'
});

类似的东西:

$('#dialog').dialog({
  show: {effect: 'fade', speed: 1000}
});

(上面的代码当然不起作用。)

我真正想要使用的是效果内部的“完整”方法,或回调函数,因此我可以在效果完成后选择一些文本。

如果有人知道,谢谢。

6 个答案:

答案 0 :(得分:47)

我不知道如何指定所有选项,但我确实设法指定速度,这是您的示例中的选项。我这样做了如下:

$('#dialog').dialog({
show: {effect: 'fade', duration: 250}
hide: {effect: 'fade', duration: 5000}
});

持续时间是动画将持续的毫秒数。通过使用firebug逐步执行javascript,我发现了这一点。

答案 1 :(得分:28)

您可以使用:

$("#dialog").dialog({
        autoOpen: false,
        hide: 'fold',
        show: 'blind'
});

并设置两种不同的效果来隐藏和显示。

您无法使用“完整”方法。至少不与实际发布。该功能为planned for release 1.9

希望有所帮助

答案 2 :(得分:2)

要查看每个效果的选项,您可以转到http://docs.jquery.com/UI/Effects,然后点击您想要的效果指定选项。 例如http://docs.jquery.com/UI/Effects/Bounce

哦,顺便说一句,de Fade Effect没有任何特定的参数。如果您使用Bounce Effect这是一个代码示例:

$( '#dialog' ).dialog({
show: {effect: 'bounce', duration: 350, /* SPECIF ARGUMENT */ times: 3}
});

答案 3 :(得分:0)

我想补充一点,您可以通过在文档中添加以下内容来指定全局效果持续时间。

$.fx.speeds._default = duration;

持续时间可以是一个选项('慢','快'等)或以毫秒为单位的数字

答案 4 :(得分:0)

位置:{my:“ bottom”,位于:“ center”,of:window}表示底面向上移至已支付窗口的中心

答案 5 :(得分:-2)

试试这个:

snippet.dialog({
open: function(event, ui) {
    snippet.hide(); 
    snippet.fadeIn(); 
}});