jQuery:淡入模态对话框

12

如何平滑地淡入jquery模态对话框?(文档中找不到任何信息)我尝试了fadeTo但没有帮助。

2个回答

23

您可以使用show选项(承认命名不佳,过于通用),如下所示:

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

关闭动画是对应的 hide 选项,例如:

$("#dialog").dialog({ show: 'fade', hide: 'drop' });

你可以在这里试一下


你的演示可以运行,但是我的却不行 :/ 需要找出问题所在 - 无论如何还是谢谢! - Fuxi
1
@Fuxi - 你使用的是哪个版本的jQuery UI?fade在1.8中作为一个效果被添加,不会在之前的版本中起作用。 - Nick Craver
是的,我使用的是旧版本 - 刚刚将jQuery更新到1.42和UI更新到1.84 - 但问题仍然存在 :/ 当使用“me.dialog(”open“)”时效果很好; 但是当使用“me.dialog({show:'fade'})”时就不行了。 当使用淡入淡出时,什么也不会发生... - Fuxi
@Fuxi - 你的控制台有任何错误吗?请记住,我的答案是关于设置而不是打开调用。例如,如果你有autoOpen: false,你仍然需要调用.dialog('open'),并且show选项应该在你的设置选项中,例如:.dialog({ autoOpen: false, show: 'fade' }),然后稍后再调用.dialog('open') - Nick Craver
谢谢 - 那就是问题所在 :) 我把它放到选项中,它出现了 - 但现在有下一个问题:它不是淡入而是折叠进来!对话框也是纯白色的(没有标题栏,没有内容) - Fuxi
@Fuxi - 非常奇怪,你有一个我可以看到这种行为的页面链接吗? - Nick Craver

3
您可以将 showhide 定义为对象,这将为您提供更多选项:
$("#element").dialog({
    show: {
        effect: 'fade',
        duration: 200 //at your convenience
    },
    hide: {
        effect: 'fade',
        duration: 200 //at your convenience
    }
});

1
这应该是被选择的答案! - T.Todua

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接