2012-11-22 145 views
0

在互联网上阅读了很多“使用javascript预加载图片”标题,我找到了相同的解决方案。 下面是一个简单的示例代码预加载图像与“stuff.jpg”名称:用src属性预加载图片

<script> 
    var img = new Image(); 
    img.src = "stuff.jpg" 
</script> 

但是我觉得没有源告诉我什么是真正的“源”属性定义它什么时候(如img.src = “stuff.jpg”)。我的想法是,它只是通过一个字符串(即“stuff.jpg”)设置“src”属性为img,并且尚未加载真实图像。 但我对我的想法相当不情愿,因为如果它是正确的,那么上面的代码将毫无价值。 你能告诉我在上面的代码中src实际上做了什么,如果你能给我一个源代码给你解释,那将是非常棒的。 谢谢。

+0

'src'指向一个图像。 – alex

+0

为什么你认为创建一个图像并设置其'src'不会导致浏览器获取真实的东西? –

+0

浏览器不需要知道它应该下载一个图像。它的纯粹存在应该就足够了。 –

回答

1

是的,你的代码实际上加载了图像。设置图像对象的src加载图像,现在只需将img添加到DOM。

喜欢的东西:

var div = document.getElementById('theImg'); 
div.appendChild(img); 

当然做这样无所作为,而如果图像显示在针对某些事件,单击按钮或东西,那么你实际上预加载的图片。

您可以在开发者工具在Chrome中执行代码并查看网络选项卡测试这一点,并看到图像实际上是从服务器请求,即使你不把它添加到DOM

+0

谢谢Jaime,我发现你的答案真的很有帮助 –