javascript - 在其他任何事情之前预加载动画 gif

标签 javascript jquery css gif preload

有什么方法可以预加载动画 gif 吗?我知道关于这个有几个问题,但我没有运气。我的网站上有一个简单的叠加层,它以动画 gif 作为背景。网站加载后,它会淡出。

$(window).load(function() {
    $('#overlay-preload').delay(1000).fadeOut('fast');
});

困难在于,特别是在移动设备上,当网站加载动画 gif 时,你会得到一个真正交错的 gif 加载。我已经尝试了一些预加载脚本,但没有任何运气。我不确定我是否遗漏了什么? gif 是 4kb,所以它不是很大,你可以在这里查看它:http://i.imgur.com/TpeQfQn.gif所以在手机上你会得到这种交错的填充效果。

有什么想法或建议吗?

最佳答案

当加载 gif 时,您需要将整个页面的加载推迟到回调中,否则您将总是在动画中卡顿:

JavaScript

loading_gif = new Image();
loading_gif.src = 'path/to/loader.gif';

loading_gif.onload = function () {
    // start loading your page (or loading animation)
};

然而,这会大大增加加载时间,这很糟糕。为什么不使用 CSS animation相反?

关于javascript - 在其他任何事情之前预加载动画 gif,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29540986/

相关文章:

javascript - 应用于 .ChartWrapper() 元素时出现 Google Visualization .getSelection() 错误

javascript - 有选择地展平嵌套 JSON 结构

javascript - 淡入和淡出图像的问题

html - CSS 表 : bottom borders that don't touch and rounded corners

html - Wordpress 中的内联元素之间添加了换行符标记,导致布局损坏

javascript - 在 JavaScript 中组合鼠标事件

javascript - 在命令行上运行 graphql 示例会导致意外的标记

jquery - 如何向 body 标签添加类?

javascript - 一次发送一个 $.post() ("adding a pause"但实际上是 : toggling a 'transmit' flag)

jquery - 在页面加载时循环调整 div 的 css