【问题标题】:How to Delay automatic opening of Modal Dialog box window in JQuery 1.5.x?如何在 JQuery 1.5.x 中延迟自动打开模态对话框窗口?
【发布时间】:2011-04-09 07:21:02
【问题描述】:

点击以下对话框效果很好:

<a href="#" onclick="jQuery('#dialogX').dialog('open');
             return false"><? echo __("Under Construction")?></a>

位于 html 底部的 javascript 触发操作:

jQuery("#dialogX").dialog({bgiframe: true, autoOpen: false, modal: true});

现在,我希望在 2 秒后弹出对话框(立即或立即)。我看到了 autoOpen 选项,当将值设置为 2000 而不是 false 时,helas dit 不起作用:它立即打开。我错过了什么?

非常感谢您的提示,祝您周末愉快。

【问题讨论】:

    标签: javascript jquery time dialog modal-dialog


    【解决方案1】:

    你可以使用

    var timeoutID = window.setTimeout(func, delay, [param1, param2, ...]);
    var timeoutID = window.setTimeout(code, delay);
    

    来自https://developer.mozilla.org/en/DOM/window.setTimeout 它在指定延迟后执行代码sn-p或函数。

    所以

    setTimeout(function(){ showDialog() }, 2000);
    

    应该可以解决你的问题。

    还可以查看.delay( n ) 方法。 http://api.jquery.com/delay/

    $('.notice').fadeIn().delay(2000).fadeOut('slow'); 
    

    【讨论】:

    • @ArtWorkAD +1 谢谢我还在忙着实现正确(还没有成功)最后一行看起来很简洁,带有淡入淡出效果......那太棒了......
    • @ArtWorkAD,我添加了setTimeout(function(){ showDialog() }, 2000);,但缺少一些东西......也许showDialog这个词应该换成别的东西?
    • 我已经为你设置了一个演示:jsfiddle.net/v3XPx/6 你必须在没有'()'的情况下将 showDialog 置于超时状态
    • @Beautifully @Awesome @Works! @谢谢@ArtWorkAD jipiiiiieie
    • @ArtWorkAD,最后一件小事:如何让“autoOpen:true” orso 使用这个定时示例?换句话说,让它在设定的几秒钟后自动加载问题。 (建设中的反馈对话框)。非常感谢。
    猜你喜欢
    • 2016-07-29
    • 2019-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 2020-04-09
    相关资源
    最近更新 更多