繁体   English   中英

如何从间隔内关闭jQuery UI对话框?

[英]How to close jQuery UI dialog from within an interval?

我正在尝试从一个间隔内关闭jQuery UI对话框。 我所看到的似乎应该起作用,但是由于某种原因它不会起作用。 我在模态窗口内的进度栏动画上遇到了一些麻烦,但是弄明白了。 既然那不想动画普通方式,我想知道对话框是否也不想关闭普通方式。
注意:总是使其变为“ Made it!”。

    if(data.version != localStorage.getItem("Sync Version")) {
        //Start the progress bar.
        $("#progress-bar").progressbar({
            value:0,
            complete : function(event, ui) {
                $("#modal-message").dialog("close");
            }
        });

        //Modal Width
        modalWidth = 400;

        //Throw up a modal.
        $("#modal-message").dialog({
            height: 300,
            width: modalWidth,
            modal: true
        });

        //Queries to execute on initial sync.
        qt = 0;
        queryThreshold = 4000;

        //Start the interval
        $(function() {
            var progress = setInterval(function() {
                var qval = Math.floor(100*(qt / queryThreshold));

                if (qval == 100) {
                    console.log("Made it!");
                    $("#modal-message").dialog("close");
                    clearInterval(progress);
                } else {
                    //$("#progress-bar").progressbar("option", "value", qval);
                    $("#progress-bar .ui-progressbar-value").animate({width : qval+"%"}, modalWidth);
                }_
            },750);
        });

        //Save the newest sync verison.
        localStorage.setItem("Sync Version", data.version);

        //Perform a full sync.
        full_sync();
    }

加载DOM ,您是否会调用此代码? 我假设是$("#progress-bar").progressbar({ /*...*/ }); $("#modal-message").dialog({ /*...*/ }); 可能实际上没有做任何事情。

也就是说,请尝试将对话框存储在这样的变量中:

var mydialog = $("#modal-message").dialog({

然后在您的函数中引用它:

//$("#modal-message").dialog("close");
//becomes:
mydialog.dialog("close");

尝试把:

    $("#modal-message").dialog({
        height: 300,
        width: modalWidth,
        modal: true
    });

$(function() {...})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM