迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

使用 JavaScript 在延迟后显示元素

作者:迹忆客 最近更新:2022/11/12 浏览次数:

延迟后显示元素:

  1. 使用 setTimeout() 方法在延迟后调用函数。
  2. 在函数中,将元素的可见性属性设置为可见。
  3. 将延迟(以毫秒为单位)作为第二个参数传递给 setTimeout() 方法。

这是本文中示例的 HTML。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />

    <style>
      #box {
        visibility: hidden;
        background-color: salmon;
        width: 100px;
        height: 100px;
      }
    </style>
  </head>

  <body>
    <div id="box">Some content here</div>

    <script src="index.js"></script>
  </body>
</html>

这是相关的 JavaScript 代码。

const el = document.getElementById('box');

setTimeout(() => {
  el.style.visibility = 'visible';

  // 👇️ if you used `display` to hide element
  // el.style.display = 'block';
}, 2000); // 👈️ delay in milliseconds

我们使用 document.getElementById() 方法选择了我们想要显示的元素。

我们使用 setTimeout 方法在延迟后调用函数。

我们传递给该方法的第一个参数是我们要调用的函数,第二个参数 - 以毫秒为单位的延迟。

在示例中,我们使用 2000 毫秒作为延迟,即 2 秒。

在函数内部,我们将元素的可见性属性设置回可见。

请注意 ,我们最初在 HTML 的样式标记中将该属性设置为隐藏。

在示例中,我们使用了 visibility 属性来隐藏和显示元素,但是如果我们最初用于隐藏元素,则可能需要使用 display 属性。

当元素的 display 属性设置为 none 时,该元素将从 DOM 中删除并且对布局没有影响。文档呈现为好像该元素不存在。

另一方面,当元素的可见性属性设置为隐藏时,它仍然会占用页面空间,但是该元素是不可见的(未绘制)。它仍然会像往常一样影响页面上的布局。

通常在延迟后显示元素时,应该使用可见性属性来避免页面上的累积布局移位,这可能会使用户感到困惑。

这是一个使用 display 属性在延迟后显示元素的示例。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />

    <style>
      #box {
        display: none;
        background-color: salmon;
        width: 100px;
        height: 100px;
      }
    </style>
  </head>

  <body>
    <div>One, two, three</div>
    <div id="box">Some content here</div>
    <div>One, two, three</div>

    <script src="index.js"></script>
  </body>
</html>

这是相关的 JavaScript 代码。

const el = document.getElementById('box');

setTimeout(() => {
  el.style.display = 'block';
}, 2000); // 👈️ delay in milliseconds

如果加载页面,我们将看到元素隐藏时如何在页面上不占用空间而其他元素占用其空间。

当我们将元素的 display 属性设置为 block 时,它会下推下一个元素的内容。

如果我们使用了可见性属性,该元素仍然会占用页面上的空间,即使它是隐藏的。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便