You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Bulma CSS的pageloader组件无限加载无法停止的问题

bulma-pageloader 加载状态无法关闭解决方法

bulma-pageloader的显示隐藏完全由is-active类控制:元素带有该类时展示加载状态,移除该类后自动隐藏。你当前代码直接在HTML结构中写死了is-active类,没有对应的移除逻辑,所以加载器会一直保持显示。

常用解决方案

  • 场景1:页面资源加载完成后自动关闭
    添加JS逻辑监听页面加载完成事件,触发后移除is-active类即可:

    window.addEventListener('load', function() {
      const pageLoader = document.querySelector('.pageloader')
      if(pageLoader) {
        pageLoader.classList.remove('is-active')
      }
    })
    
  • 场景2:自定义时机手动关闭(如异步请求完成后关闭)
    封装关闭方法,需要时主动调用:

    // 封装关闭方法
    function closePageLoader() {
      const pageLoader = document.querySelector('.pageloader')
      pageLoader && pageLoader.classList.remove('is-active')
    }
    
    // 示例:接口请求完成后调用关闭
    // fetch('/api/xxx').then(res => {
    //   // 处理接口返回逻辑
    //   closePageLoader()
    // })
    

修正后完整代码示例

<!DOCTYPE html>
<html>
<head>
  <!-- 原代码中head标签未闭合,此处已修正 -->
  <link rel="stylesheet" type="text/css" href="\URL/node_modules/bulma-pageloader/dist/css/bulma-pageloader.min.css">
</head>
<body>
  <div class="pageloader is-active is-info"><span class="title"> Pageloader</span></div>
  <script>
    // 页面加载完成自动关闭
    window.addEventListener('load', function() {
      const pageLoader = document.querySelector('.pageloader')
      if(pageLoader) {
        pageLoader.classList.remove('is-active')
      }
    })
  </script>
</body>
</html>

内容的提问来源于stack exchange,提问作者Mayor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 08:45:04