She*_*don 32
您可以将图像包装在noscript标记中:
<noscript>
<img src="foo.jpg"/>
</noscript>
Run Code Online (Sandbox Code Playgroud)
启用了JavaScript的所有浏览器都将忽略图像标记,因此不会加载图像.
Lan*_*don 19
如果您在页面上呈现HTML,即使它被隐藏,也会加载.如果您希望图像仅在需要时加载,则您必须在javascript中动态设置图像标记上的源(src).
编辑1:您引用的脚本仅检查您向下滚动页面的距离,然后通过检查其顶部来确定哪些图像可见(或几乎可见) - 请参阅$ .belowthefold和$ .rightoffold扩展.
当图像大小相同时,该示例效果很好,因为它们的容器也可以是相同的大小,并且当您延迟加载它们时,您将不会获得任何奇怪的页面大小调整行为.如果您的图像的高度和宽度不同,您可能会得到一些奇怪的结果.
编辑2:
<script type="text/javascript" charset="utf-8">
$(document).ready( function() { $("img").removeAttr("src"); } );
</script>
<img src="Chrysanthemum.jpg" />
<img src="Desert.jpg" />
<img src="Hydrangeas.jpg" />
<img src="Jellyfish.jpg" />
<img src="Koala.jpg" />
<img src="Lighthouse.jpg" />
<img src="Penguins.jpg" />
<img src="Tulips.jpg" />
Run Code Online (Sandbox Code Playgroud)
好吧,通过Prototype,您可以执行以下操作:
var unloaded = [];
$$('img.noload').each(function (image) {
unloaded.push(image);
image._src = image.src;
image.src = '';
});
Run Code Online (Sandbox Code Playgroud)
要加载所有它们:
unloaded.each(function (image) {
image.src = image._src;
});
Run Code Online (Sandbox Code Playgroud)
要加载第一个:
function loadImage (image) {
image.src = image._src;
}
loadImage(unloaded.shift());
Run Code Online (Sandbox Code Playgroud)
好吧,我希望你有这个主意。
| 归档时间: |
|
| 查看次数: |
47180 次 |
| 最近记录: |