简体   繁体   English

如何关闭“模型”弹出窗口jQuery

[英]how can i close the Model popup window jquery

i have a button on my view page whenever its get clicked,a pop up modal appears ... now i want to close that modal ... 每当单击它时,我的视图页面上都有一个按钮,出现弹出模式...现在,我想关闭该模式...

here is my code 这是我的代码

function openSirenModal() {
var timeout;
var progress;
var status;

$.modal({
    contentAlign: 'center',
    width: 240,
    title: 'Loading',
    content: '<div style="line-height: 25px; padding: 0 0 10px"><span id="modal-status">Contacting to the device...</span><br><span id="modal-progress">0%</span></div>',
    buttons: {},
    scrolling: false,
    actions: {
        'Cancel': {
            color: 'red',
            click: function (win) {
                win.closeModal();
            }
        }
    },
    onOpen: function () {
        // Progress bar
        var progress = $('#modal-progress').progress(100, {
            size: 200,
            style: 'large',
            barClasses: ['anthracite-gradient', 'glossy'],
            stripes: true,
            darkStripes: false,
            showValue: false
        }),

            // Loading state
            loaded = 0,

            // Window
            win = $(this),

            // Status text
            status = $('#modal-status'),

            // Function to simulate loading
            simulateLoading = function () {




            };

        // Start
        //timeout = setTimeout(simulateLoading, 2500);
    },


    onClose: function () {
        // Stop simulated loading if needed
        clearTimeout(timeout);
    }


});

var siren = "siren";
$.ajax({
    type: "POST",
    data: {
        value: siren
    },
    url: "http://localhost/siren/siren/",

    success: function (data) {
        alert(data);
        if (data == 1) {

            var auto_refresh = setInterval(
                function () {
                    $.get('siren/sirenjson', function (datas) {

                        if (datas == 1) {

                            $('#modal-progress').hideProgressStripes().changeProgressBarColor('green-gradient');
                            $('#modal-status').text('success!');
                            setTimeout(function () {
                                clearInterval(auto_refresh);
                                win.closeModal();//here i want to close the popup modal
                            }, 1500);


                        }
                    });

                }, 1000);





        } else {

        }

        //clearTimeout(timeout);
    },
    error: function () {

        alert("error");
        progress.hideProgressStripes().changeProgressBarColor('red-gradient');
        setTimeout(function () {
            win.closeModal();
        }, 1500);
        status.text('error!');
    }
});

 };

i have written code win.closeModal();but it isn't working because i cant access the win variable in setInterval..i dont know how can i access it 我已经写了代码win.closeModal();但是它不起作用,因为我无法访问setInterval中的win变量。我不知道如何访问它

<div id="modal">Modal text <br /><button type='button' class='close'>CLOSE</button></div>

$('.close').on('click', function(){ 
         $.modal.close();
         $('#modal, #open_modal').toggle();
    });

Try This if you can skip the closeModal(); 如果可以跳过closeModal();请尝试“此” closeModal();

JSFIDDLE TRIAL JSFIDDLE试用

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

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