javascript - Bootstrap 通知 - JS 函数仅在第一次迭代时淡化通知

标签 javascript jquery html css

我有以下 JS 函数创建一个带有引导类的 div:

function showDiv() {
    let div = document.createElement("div");
    div.innerHTML = '<div id="newAlert" class="alert alert-info">Hello</div>'
    document.body.appendChild(div);
$("#newAlert").delay(3000).fadeOut();

一个 HTML 按钮将触发此功能并在屏幕上显示 Bootstrap 通知,该通知将在 3 秒后淡出。

问题是在第一次淡出后,再次点击按钮会让通知再次出现,但不会在第二次按钮点击时淡出。我需要通知在每次单击按钮时出现并淡出而不重新加载页面。

我最初尝试围绕 jquery 部分实现一个“if 1==1”语句,但这并没有改变任何东西。

有人能给我指出正确的方向,说明为什么通知只消失一次吗?任何帮助将非常感激。

最佳答案

.fadeOut() 通过将匹配的元素淡化为透明来隐藏它们。 DOM 中将第二次出现两个 #newAlert

function showDiv() {
  let div = document.createElement("div");
  div.innerHTML = '<div id="newAlert" class="alert alert-info">Hello</div>'
  document.body.appendChild(div);
  $("#newAlert").delay(3000).fadeOut('slow', function() {
    $(this).remove();
  });
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">

<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>

<button class="btn btn-primary" onclick="showDiv()">Alert!</button>

关于javascript - Bootstrap 通知 - JS 函数仅在第一次迭代时淡化通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55123307/

相关文章:

JavaScript 用 Base64 替换 Textarea 文本

javascript - jQuery $ .ajax发布获取引荐来源网址以进行错误调试

javascript - Chrome native PDF阅读器在新选项卡中打开超链接

html - 为什么 img 和 address 元素在最普通的页面中不垂直对齐?

html - 变换后在元素上移动/跳跃

javascript - 禁用 knockout 中无法正常工作的功能

javascript - 我想用 Javascript API V3 创建一个 donut (里面的空白空间像一个洞)

javascript - Bootstrap数据表搜索功能

JQuery .load 函数破坏了其他 jQuery 函数

javascript - 当页面加载到特定的 div ID 时如何触发 javascript?