我的网站上有一个画廊。图库包含 15 张图片,每张大约 500KB(总大小为 7.5MB)。
因为画廊需要一段时间来加载(在我的电脑上 25 秒,这取决于连接),我希望访问者知道画廊正在加载,因此Ajax 加载 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 上正常工作?