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

为何原jQuery 1.11.2加载器代码在jQuery 3.3.1中失效?

为什么你的jQuery加载器代码在3.3.1中失效?

嘿,这个问题我碰到过好多次了!核心原因是jQuery 3.x系列对旧的事件绑定API做了移除操作,具体来说:

  • 在jQuery 1.11.2这类旧版本中,$(window).load(function() { ... }) 是绑定window的load事件的快捷写法,当页面所有资源(包括图片、样式表等)加载完成后会触发这个函数。
  • 但从jQuery 3.0开始,官方彻底移除了这个快捷方式,如果你还这么写,浏览器会找不到对应的方法,自然不会执行里面的淡出逻辑。

修复方法很简单:

把原来的代码改成使用标准的事件绑定语法:

$(window).on('load', function() {
  $(".loader").fadeOut(250);
});

另外还要注意一个小细节:如果你的代码是在DOM已经加载完成后才执行(比如放在$(document).ready()里面),那可能会错过window的load事件(因为load事件触发比DOMContentLoaded晚,但如果资源加载快的话,可能在你的代码绑定之前就已经触发了)。这种情况下,你可以先检查页面是否已经加载完成,再决定是直接执行淡出还是绑定事件:

if (document.readyState === 'complete') {
  $(".loader").fadeOut(250);
} else {
  $(window).on('load', function() {
    $(".loader").fadeOut(250);
  });
}

这样不管页面是否已经加载完成,你的加载器都会正常淡出啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:35:25