Bootstrap的popover(弹出框)2秒后定时消失的实现代码

阅读时长 5 分钟读完

在前端开发中,popover(弹出框)是一个常见的UI组件,它可以用于显示一些信息、警告或者提示。然而,在某些情况下,我们可能需要把popover设置成自动消失,这样能够避免用户在忘记关闭popover时出现干扰。

本文将介绍如何使用Bootstrap框架来实现自动消失的popover。我们将使用jQuery来编写JavaScript代码,并且在代码中加入注释以便于理解。

准备工作

在开始之前,请确保您已经引入了Bootstrap和jQuery的库文件。如果您还没有引入这些文件,请前往官方网站下载:

接下来,我们需要添加一些HTML和CSS代码以创建一个简单的popover。以下是一个示例代码:

-- -------------------- ---- -------
---- ---- ---
------- ------------- ---------- -------------- --------------------- ----------------- ------------------------------------------

---- --- ---
-------
    -------- -
        ---------- ------
    -
--------

按钮上的data-toggle="popover"属性告诉Bootstrap该按钮将触发一个popover。titledata-content属性分别用于指定popover的标题和内容。CSS样式用于限制popover的最大宽度。

实现自动消失

为了实现自动消失的popover,我们需要使用JavaScript来设置一个计时器。在计时器结束后,我们将触发关闭popover的事件。

以下是完整的JavaScript代码:

-- -------------------- ---- -------
-- -------------
--- ----- - --

---------- -- -
    -- -----------
    ---------------------------------------

    -- ------------------
    ---------------------------------- -------- --- -
        --- ------- - -------------------------------------

        ------------------- -- -
            ----------------------------
            ---------------
        -- ----- - ------
    ---
---

代码解释:

  • delay变量定义了popover消失的延迟时间(单位:秒)。
  • $('[data-toggle="popover"]').popover()将所有带有data-toggle="popover"属性的元素转换成Bootstrap的popover。
  • $(document).on('shown.bs.popover', function (e) {...})监听所有popover的展示事件,并在事件被触发时执行回调函数。这个回调函数将获取当前展示的popover对象,然后启动一个计时器来等待一段时间后关闭popover。
  • popover.removeClass('show');popover.hide();分别用于隐藏popover的标题和内容。

总结

通过本文,您已经学会了如何使用Bootstrap框架和jQuery库来实现自动消失的popover。请记住,在实际应用中,您可能需要根据具体需求对代码进行修改和扩展。

完整的示例代码如下:

-- -------------------- ---- -------
---- ---- ---
------- ------------- ---------- -------------- --------------------- ----------------- ------------------------------------------

---- --- ---
-------
    -------- -
        ---------- ------
    -
--------

---- ---------- ---
------- -----------------------------------------------------------
------- --------------------------------------------------------------------------------------------
--------
    -- -------------
    --- ----- - --

    ---------- -- -
        -- -----------
        ---------------------------------------

        -- ------------------
        ---------------------------------- -------- --- -
            --- ------- - ----------------------------

- ---------------------------------------------------------- --------
--------------------------------------------------------------------------------
纠错
反馈