html - 加载 GIF(预加载器)仅在 Chrome 上卡住

标签 html css google-chrome gif preloader

我的网站上有一个画廊。图库包含 15 张图片,每张约 500KB(总大小为 7.5MB)。

因为画廊需要一段时间才能加载(在我的电脑上需要 25 秒,这取决于网络连接),我希望访问者知道画廊正在加载,因此 Ajax loading GIF .

我希望访问者在进入图库页面时立即看到正在加载的 GIF,直到图库图像已下载并可以查看为止。


为了实现我的目标,这是我所做的:

这是画廊 HTML 页面正文的开头:

<body>
    <img src="images/ajax-loader.gif" alt="" class="hiddenPic" /> 
    <!-- loading Ajax loading GIF before all the other images -->

这是画廊 CSS 部分:

#gallery {
  background: url(images/ajax-loader.gif);
  background-repeat:no-repeat;
  background-attachment: fixed;
  background-position: center; 

所以基本上,加载 GIF 应该在访问者进入图库页面时立即下载,因为它是 <body> 中的第一个对象。那将要被下载。但是,由于 hiddenPic,它不可见类。

此方法应有助于使正在加载的 GIF 准备就绪并尽快作为画廊背景可见,直到所有画廊图像都已下载并且画廊已准备就绪。


但是,加载中的 GIF 在 Google Chrome 上无法正常工作;它在 Firefox 和 IE 上运行良好(完美旋转)- 但在 Chrome 上卡住了(无法正常旋转),从它出现的那一刻到画廊准备就绪。

更新: 我知道我可以实现一个更好的图库(就像评论中建议的那样),这将在用户进入图库页面时需要更少的资源 -但我不明白当 GIF 加载器在 Firefox 和 IE 上完美运行时,这可能是问题的原因。

为什么 Ajax 加载 GIF 在 Chrome 上无法正常工作?

最佳答案

你只需要在第 602 行删除这个声明:

background-attachment: fixed;

关于html - 加载 GIF(预加载器)仅在 Chrome 上卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11982733/

相关文章:

Javascript 弹出功能

php - 添加另一个元素时如何向下推元素

Css 菜单项组彼此相邻

windows - Go - 是否可以像 Go 中的 webkit 一样嵌入 Google Chrome 浏览器?使 Mac、Windows、Linux 兼容?

node.js - 我为什么现在要获得“ “A data breach on a site or app exposed your password. Chrome recommends changing your password on ” SITENAME”。

javascript - 带有 onchange() 回调的表单输入在提交时更新

html - 如何设置 div 宽度等于响应式 img

css - CSS 动态 Div 标签调整为静态 Div 标签的问题

html - 是否可以从 'overflow: hidden' 属性中排除一个元素?

javascript - Chrome扩展程序弹出窗口不起作用,未处理点击事件