【发布时间】:2014-01-22 23:34:25
【问题描述】:
我正在尝试降低页面速度,而我的幻灯片是我的主要障碍。为简单起见,我在下面的代码中仅显示使用 3 张图片...我实际上有 17 张相当大的图片。我想弄清楚的是如何将第一个图像加载为 img src 或 base64 并将剩余的图像推迟到加载完成。
幻灯片的html(使用jquery和js称为loopedslider1)loopedSlider js可以在这里找到http://jsfiddle.net/tS27H/
<div id="slider">
<div id="loopedSlider1">
<div class="container1">
<div class="slides1">
<div>
<img src="i/1.jpg" width="624" height="535" alt="">
<p>Copyright © 2014 - All Rights Reserved.</p></div>
<div>
<img src="i/2.jpg" width="624" height="535" alt="">
<p>Copyright © 2014 - All Rights Reserved.</p></div>
<div>
<img src="i/3.jpg" width="624" height="535" alt="">
<p>Copyright © 2014 - All Rights Reserved.</p></div>
</div>
</div>
<div id=slider1-button-wrap>
<a class="previous slider1-button-left" href="#">Left</a>
<a class="next slider1-button-right" href="#">Right</a>
</div>
</div>
</div>
我看着做一个精灵,base64,base64 的精灵,使用 css 延迟图像:
<script>
function downloadAtOnload1() {
var element1 = document.createElement("style");
element1.src = "xd.css";
document.body.appendChild(element1);
}
if (window.addEventListener)
window.addEventListener("load", downloadAtOnload1, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadAtOnload1);
else window.onload = downloadAtOnload1;
</script>
<div id="image2">
<p>Copyright © 2014 - All Rights Reserved.</p>
</div>
#image2{background-image: url(data:image/png;base64,longstring}
只有在使用 html img src 时才能运行幻灯片放映。
任何建议将不胜感激。
【问题讨论】:
-
作为一个流程怎么样? 1. 加载用户将在首屏看到的任何内容。 2.
window.load之后,加载剩下的图片。 3. 加载完所有图像后,开始幻灯片放映。 -
我不知道这是否有任何帮助,但
元素确实有一个 onload 事件,您可以使用它进行调查。
-
你想支持哪些浏览器?
-
你能让你的小提琴真正工作吗?
-
@Jasper 我明白你在说什么......幻灯片在首屏播放时有足够的延迟,如果我能弄清楚如何推迟其余的图像,如果应该工作的话。
标签: javascript jquery html css image