【问题标题】:Closing a Bootstrap Alert Automically after n seconds在 n 秒后自动关闭引导警报
【发布时间】:2016-04-13 01:14:55
【问题描述】:

我正在使用 Bootstrap 框架创建一个新站点,但在尝试在 n 秒后自动关闭引导程序警报时遇到问题。

主页包含一个模式登录表单。一旦用户尝试登录,如果输入的详细信息不正确,我会在主页上显示包含错误(密码错误、用户名未知等)的警报。

所以警报看起来不错,但我无法自动关闭它,如果有人能够提供帮助,请在下面输入代码,谢谢。

PHP(返回错误并显示警报)

<?php

// show potential errors / feedback (from login object)
if (isset($login)) {
    if ($login->errors) {
        foreach ($login->errors as $error) {
            $AlertError = $error;

            echo '<div class="alert alert-warning alert-dismissible" role="alert" id="loginerror">
               <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
               <strong>' . $AlertError . '</strong>
               </div>';
        }
    }
}

我尝试从上面的 PHP 代码中调用 java 脚本函数,然后关闭警报,但没有成功

$("#loginerror").fadeTo(2000, 500).slideUp(500, function(){
$("#loginerror").alert('close');

【问题讨论】:

  • 你为什么不重新开始使用这个:materializecss.com/dialogs.html,因为你需要首先了解你不能从 PHP 调用 javascript(或者至少了解 javascript 和 PHP 应该如何通信)

标签: javascript php jquery html twitter-bootstrap


【解决方案1】:

你必须有一个像setTimeout()这样的延迟,然后在关闭按钮上触发.click()

if($('#loginerror').length){ // <-----checks if loginerror div is available
   setTimeout(function(){
      $('#loginerror').find('.close')[0].click();
   },1*1000);
}

【讨论】:

  • 谢谢,我试试看
猜你喜欢
  • 2014-05-30
  • 2014-12-12
  • 2018-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-22
  • 1970-01-01
相关资源
最近更新 更多