【问题标题】:bootstrap modal close after 4 seconds or user click引导模式在 4 秒后关闭或用户单击
【发布时间】:2013-09-14 20:00:56
【问题描述】:

如何为引导模式设置超时?在获取 ajax 数据后,php 返回的消息包含术语success,我想给用户关闭窗口的选项。但是,我也只想倒计时 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会发生什么?它会自动关闭吗?

标签: jquery ajax twitter-bootstrap modal-dialog


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:
    setTimeout(function(){
      $('#Modal').modal('hide')
    }, 4000);
    

    //modal 的 id 是 'Modal'

    【讨论】:

      【解决方案3】:

      以下代码用于在onClick 事件中隐藏模型。使用 onClick 监听器的类名和模态 ID 作为隐藏选择器。

      $('.class_name').on('click',function(){
          $('#modal_id').modal('hide');
      });
      

      【讨论】:

      • 您好。我认为这不是所问问题的正确答案
      • 嗨@eykhagen Alex 也希望用户单击并隐藏模式。
      • 你漏掉了时间
      • @ebentil 您在上面阅读了我的注释,它仅适用于onclick 事件。
      • 这实际上是一个错误的答案,但 %100 我需要这个。
      【解决方案4】:
      $('#submit1').click(function(){
              setTimeout("$('#myModal').modal('hide');",3000);
          });
      

      这适用于在关闭时延迟 3 秒的弹出窗口。 请与$('#submit1') 确认此点击我已编写代码。

      【讨论】:

      • 你的回答并没有给这个问题带来任何新的东西,这个问题在 4 年前就已经解决了。
      猜你喜欢
      • 1970-01-01
      • 2012-09-22
      • 2012-10-30
      • 2015-09-26
      • 1970-01-01
      • 2012-10-06
      • 2014-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多