使用原生 JavaScript 动态加载 CSS 文件并带回调函数

阅读时长 3 分钟读完

在 Web 前端开发中,我们经常需要动态地加载外部的 CSS 文件,以实现一些特定的功能和效果。本文将介绍如何使用原生 JavaScript,即不依赖于 jQuery 等第三方库,来实现动态加载 CSS 文件,并且加上回调函数。

实现思路

  1. 创建一个 link 标签,并设置其 href 属性为需要加载的 CSS 文件路径。
  2. 将该标签添加到 head 元素中,此时 CSS 文件将被下载但未应用到页面。
  3. 创建一个回调函数,在 CSS 文件加载完成后执行,以确保 CSS 文件被正确地加载完毕并可以被引用。

代码实现

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

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

上述代码中,loadCSS 函数接收两个参数:url 表示需要加载的 CSS 文件路径,callback 表示回调函数。首先创建一个 link 标签,设置其属性,并将其添加到 head 元素中。接着创建一个 img 标签,并监听其 onerror 事件,当该事件触发时表示 CSS 文件加载失败,此时回调函数不会被执行;反之,当 CSS 文件加载成功后,img 标签的 onerror 事件不会被触发,回调函数将被执行。

示例

下面是一个使用示例,假设我们需要在页面加载完毕后动态地加载一个名为 styles.css 的 CSS 文件,并在加载完成后弹出一个提示框:

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

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

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

在上述示例中,当页面加载完成后,loadCSS 函数将被调用,并传递了两个参数:styles.css 表示需要加载的 CSS 文件路径,showAlert 表示回调函数。当 CSS 文件加载完成后,showAlert 函数将被执行并弹出一个提示框。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/30614

纠错
反馈