javascript - jquery对话框打开和关闭不起作用

标签 javascript jquery jquery-ui

我想在 n 秒后显示对话框并在 m 秒后隐藏它,但它对我不起作用!

 $(document).ready(function () {
    var advanced = $("div#advanced");
    $(advanced).dialog({ autoOpen: false,
        modal: true,
        buttons: { "Try it now": function () { window.location = 'myURL'; },
            "No thank's": function () { $(this).dialog("close"); }
        },
        show: 'fade',
        width: 350,
        height: 130,
        draggable: false,
        resizable: false
    });
    window.setTimeout(function () {
        $(advanced).dialog("open");
    }, n);
    window.setTimeout(function () {
        $(advanced).dialog("close");
    }, m);});

最佳答案

将触发对话框关闭的 setTimeout 移动到打开对话框的计时器的回调中。您可能还想在对话框关闭时清除计时器。

 $(function () {
    var advanced = $("div#advanced");
    advanced.dialog({ autoOpen: false,
        modal: true,
        buttons: { "Try it now": function () {
                      window.location = 'myURL';
                    },
            "No thank's": function () {
                      $(this).dialog("close");;
                    }
        },
        close: clearTimer,
        show: 'fade',
        width: 350,
        height: 130,
        draggable: false,
        resizable: false
    });
    var closeTimer = null;

    setTimeout(function () {
        advanced.dialog("open");
        closeTimer = setTimeout( function() {
            closeTimer = null;
            advanced.dialog("close");
        }, m );
    }, n);

    function clearTimer() {
        if (closeTimer) {
           clearTimeout(closeTimer);
           closeTimer = null;
        }
    }

});

关于javascript - jquery对话框打开和关闭不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2980221/

相关文章:

jquery - 为位于另一个仅用于文本的 div 后面的 div 启用悬停 css 转换

javascript - 生成动态 div 并检索输入元素的值

javascript - jQuery 工具 : Can you nest non-ajax tabs inside of ajaxed tabs?

jquery - 如何将 Google map 静态图像保持在流畅/响应式尺寸上

javascript - JQuery 数据表文本框列悬停

jQuery slider 问题达到最小值和最大值

javascript - 从 javascript 正确添加到 json

javascript - 定制 Handlebars 助手

javascript - 底色不褪色

使用 RegExp 构造函数的具有可变模式的 JavaScript 正则表达式