2013-03-06 102 views
1

是否有可能停止加载图像,直到通过jQuery请求?jQuery - 如何停止图像加载,除非请求

我目前使用jQuery的航点,并希望只在该文档在某些位置加载一次图像...

这同样适用于图像在IMG标签,并且还背景图像?

+0

这可能是你想要的:http://stackoverflow.com/questions/8464786/jquery-loading-images-on-demand – 2013-03-06 19:41:42

+0

你可以寻找一些懒加载jQuery插件。 – 2013-03-06 19:41:50

+0

寻找惰性负载+1,因为我想去天堂 – Jonathan 2013-03-06 19:42:18

回答

3

任何时候<img>标记被创建,或者Image对象的属性设置为.src,它将开始尝试加载。

我知道做你想做的事情的唯一方法就是确保元素不被创建,直到它真正需要。

如果您知道图像有多大,可以使用放大到合适尺寸的1x1占位符,然后在需要时使用正确图像替换占位符.src。至少应该保持页面布局稳定并避免重排。

+0

通过css应用背景图片怎么样? – 2013-03-06 19:44:26

+0

@JosiahRuddell在那里 - 你必须在需要时动态应用样式,而不是在你的静态CSS文件中。 – Alnitak 2013-03-06 19:45:02

+0

@Alnitak你的意思是说像'data-image'属性,然后让jQuery从属性请求该文件,并在页面加载后将其放入'src'中? 我想过那个,但我不知道它是否有点混乱。有没有其他方法可以做到这一点? – 2013-03-06 20:01:33

0

您可以简单地创建没有任何标签的图像,因此浏览器将无法加载。然后强制浏览器在需要时加载图像。结帐本教程的how to load images on demand