猿问

防止图像加载

有没有办法用javascript / jquery防止图像加载?我正在从带有图像的html列表构建幻灯片。因此,我想收集所有src数据,然后阻止加载图像。因此,稍后当用户确实需要该图像时,我便会加载它。

我在Google上找到了一些延迟加载脚本,但是找不到阻止图像加载的方式。

提前致谢。

Edit1:
从答案看来,不可能使用javascript来防止图像加载。 这是一个执行延迟加载的脚本。谁能解释它是如何工作的?似乎当javascript关闭时,它只是正常加载图像,而当它打开时,将在您滚动到它们的位置时加载它们。


慕妹3146593
浏览 387回答 3
3回答

LEATH

如果在页面上呈现HTML,则即使隐藏HTML,也要加载它。如果要仅在需要时才加载图像,则必须在javascript中的image标记上动态设置源(src)。编辑1:您所引用的脚本仅检查您向下滚动页面的距离,然后通过检查其顶部确定哪些图像可见(或几乎可见),请参阅$ .belowthefold和$ .rightoffold扩展名。当图像的大小都相同时,该示例非常有用,因为它们的容器也可以是相同的大小,并且在延迟加载图像时不会出现任何奇怪的页面大小调整行为。如果图像的高度和宽度变化,您可能会得到一些奇怪的结果。&nbsp;&nbsp;编辑2:<script type="text/javascript" charset="utf-8">&nbsp; &nbsp; $(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" />

慕哥6287543

好吧,通过Prototype,您可以执行以下操作:var unloaded = [];$$('img.noload').each(function (image) {&nbsp; &nbsp; unloaded.push(image);&nbsp; &nbsp; image._src = image.src;&nbsp; &nbsp; image.src = '';});要加载所有它们:unloaded.each(function (image) {&nbsp; &nbsp; image.src = image._src;});要加载第一个:function loadImage (image) {&nbsp; &nbsp; image.src = image._src;}loadImage(unloaded.shift());好吧,我希望你有这个主意。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答