为了账号安全,请及时绑定邮箱和手机立即绑定

防止图像加载

防止图像加载

慕妹3146593 2019-10-21 10:36:53
有没有办法用javascript / jquery防止图像加载?我正在从带有图像的html列表构建幻灯片。因此,我想收集所有src数据,然后阻止加载图像。因此,稍后当用户确实需要该图像时,我便会加载它。我在Google上找到了一些延迟加载脚本,但是找不到阻止图像加载的方式。提前致谢。Edit1:从答案看来,不可能使用javascript来防止图像加载。 这是一个执行延迟加载的脚本。谁能解释它是如何工作的?似乎当javascript关闭时,它只是正常加载图像,而当它打开时,将在您滚动到它们的位置时加载它们。
查看完整描述

3 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

如果在页面上呈现HTML,则即使隐藏HTML,也要加载它。如果要仅在需要时才加载图像,则必须在javascript中的image标记上动态设置源(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" />


查看完整回答
反对 回复 2019-10-21
?
慕哥6287543

TA贡献1831条经验 获得超10个赞

好吧,通过Prototype,您可以执行以下操作:


var unloaded = [];

$$('img.noload').each(function (image) {

    unloaded.push(image);

    image._src = image.src;

    image.src = '';

});

要加载所有它们:


unloaded.each(function (image) {

    image.src = image._src;

});

要加载第一个:


function loadImage (image) {

    image.src = image._src;

}


loadImage(unloaded.shift());

好吧,我希望你有这个主意。


查看完整回答
反对 回复 2019-10-21
  • 3 回答
  • 0 关注
  • 385 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号