四秒后自动关闭Bootstrap模态框或用户点击关闭

20

我该如何为Bootstrap模态框设置超时时间?当获取到包含success的PHP返回消息后,我想给用户一个关闭窗口的选项。然而,我也想要一个4秒的倒计时。目前,成功消息一出现,模态框就立即隐藏了。

$('#forgotform').submit(function (e) {
    "use strict";
    e.preventDefault();
    $('#forgotsubmit').button('loading');
    var post = $('#forgotform').serialize();
    var action = $('#forgotform').attr('action');
    $("#message").slideUp(350, function () {
        $('#message').hide();
        $.post(action, post, function (data) {
            $('#message').html(data);
            document.getElementById('message').innerHTML = data;
            $('#message').slideDown('slow');
            $('#usernamemail').focus();
            if (data.match('success') !== null) {
                $('#forgotform').slideUp('slow');
                $('#forgotsubmit').button('complete');
                $('#forgotsubmit').click(function (eb) {
                    eb.preventDefault();
                    $('#forgot-form').modal('hide');
                });
                setTimeout($('#forgot-form').modal('hide'), 10000);
            } else {
                $('#forgotsubmit').button('reset');
            }
        });
    });
});

当您将 setTimeout 注释掉时会发生什么?它自动关闭吗? - JofryHS
4个回答

47
在调用setTimeout()函数时,请将你的命令包装在一个匿名函数中。否则,命令将立即执行。

在调用setTimeout()函数时,请将你的命令包装在一个匿名函数中。否则,命令将立即执行。

setTimeout(function() {$('#forgot-form').modal('hide');}, 4000);

21
setTimeout(function(){
  $('#Modal').modal('hide')
}, 4000);

//其中模态框的id为'Modal'


1
以下代码用于在 onClick 事件中隐藏模态框。使用类名作为 onClick 监听器,并使用模态框 ID 作为选择器来隐藏。
$('.class_name').on('click',function(){
    $('#modal_id').modal('hide');
});

1
嗨,我认为这不是被问到的正确答案。 - Eyk Rehbein
嗨 @eykhagen,Alex 也希望用户点击并隐藏模态框。 - Subhash Patel
你忘了时间。 - ebentil
@ebentil,你看到我的备注了吗?它只适用于“onclick”事件。 - Subhash Patel
这实际上是一个错误的答案,但是我百分之百需要它。 - ORHAN ERDAY

0
$('#submit1').click(function(){
        setTimeout("$('#myModal').modal('hide');",3000);
    });

这可以在关闭弹出窗口前延迟3秒钟工作。 请检查 $('#submit1') 的点击事件,我已经编写好了代码。


3
你的答案对于这个问题没有任何新的贡献,因为这个问题已经在4年前解决了。 - Maciej Jureczko

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