我在网站的头部区域有一个jQuery图像滑块,它会自动地周期性地展示图片。现在的问题是,当您第一次加载页面时(没有缓存),它会一次性加载滑块中的所有图片,并将这些图片对齐到网页上(一个div放在另一个div的上面),因此您会在页面加载时立即看到所有的图片。这看起来不太专业。也许有一个onpageload()函数可以防止所有图片同时显示,或者可以在显示它们之前先在后台加载它们?特别是在网络速度较慢的情况下,这是一个问题...我的网站:http://v4m.mobi。谢谢!
将您的图像样式设置为display:none
或visibility:hidden
,然后在$(window).load()
上将它们的样式更改回display:[block/inline/etc]
或visibility:visible
。
$(window).load(function(){
$('#myImage1').css('visibility','visible');
$('#myImage2').css('visibility','visible');
//etc
});
你能不能简单地这样做:
.slideshow img {
display: none;
}
.slideshow img:first-child {
display: block;
}
它们可能会一次性全部加载,也可能不会,这取决于浏览器,但至少只有一个是可见的。此外,您还可以使用非JavaScript回退方法,使第一张图片可见。
如果您需要支持旧版浏览器,请创建某种“可见”类并将其添加到第一个图像元素中。
预加载您的图片或使用 jQuery 并通过 window.load() 加载您的代码。
$(window).load(function(){
// runs after images are loaded
});