用jQuery预加载背景图片?
问题描述:
我有一个目前设置为无显示的div,Div有一个大约5000px宽,2000px高的背景图像。用jQuery预加载背景图片?
我使用jquery在一个按钮上切换div显示attirbute只有在div加载时图像太大并且图像在1/2秒后加载时才点击;有没有一个功能,我可以显示预加载器,直到图像准备好,然后显示它?
感谢
答
尝试使用本地JavaScript的Image
对象预加载图像。
另外考虑要避免在网络上使用如瓷砖等巨大的图像。
答
这个问题被张贴了一段时间回来,回答只用香草的JavaScript,但可以很容易地适应您的方案。
$(document).ready(function() {
var c = new Image();
c.onload = function(){
$("#Your Div ID").css("background-image", "url(Path to Background Image)");
}
c.src = "Path to Background Image";
});
你能解释一下这是如何工作究竟贾斯汀? – Liam 2012-02-21 15:37:54
只需为图像加载时创建事件处理程序,即可将图像应用于div作为背景。在你的情况下,你需要把它变成一个函数,在这个函数中你首先显示你的预加载器,然后执行上面的代码以显示可用的图像(并隐藏你的预加载器)。有关图像对象的更多详细信息:http://www.w3schools.com/jsref/dom_obj_image.asp – JustinW 2012-02-21 15:41:47