繁体   English   中英

有没有一种方法可以只在显示不为空时加载图像?

[英]Is there a way to only load images when display is not none?

很简单的问题:

如果显示,我是否可以强制浏览器不下载任何图像或其他资源:无,但是当显示切换为嵌入式时,当然可以下载?

这里是一个概念:一个演讲演示文稿,其中有许多幻灯片作为图像,默认情况下全部设置为display:none,然后在视频达到特定时间索引时更改为display:inline。 即使未显示所有图像,浏览器仍会尝试加载所有图像,这可能会导致视频或应在幻灯片图像之后加载的元素死机。

我有一系列的这些:

<figure class="lectureNotCurrent" data-start="0" data-end="259">
<a href="img1_large.JPG" target="_blank">
<img src="img1_large.JPG" class="lectureSlidesImg" /></a></figure>

编辑-应该工作吗?

<img data-src=/path/to/img.png src="">

//js
loadNextImages() {
   document.querySelectorAll("#slidesContainer footer").map(function () {
       this.getElementsByTagName('img').src = this.getElementsByTagName('img').dataset.src;
       delete this.dataset.src;
   });
}

更新您的html,以使隐藏的图像没有src (例如,有一个透明像素文件作为源),并使用data-src并在显示时更改src

<img data-src=/path/to/img.png src="">

//js
loadNextImages() {
    document.querySelectorAll("#container img").map(function () {
        this.src = this.dataset.src;
        delete this.dataset.src;
    });
}

这就是我最终要做的。

HTML

<figure class="lectureNotCurrent" data-start="0" data-end="259">
<a href="img1_large.JPG" target="_blank">
<img data-src="img1_large.JPG" src="" class="lectureSlidesImg" /></a></figure>

在运行幻灯片计时的函数中,我添加了变量:

var imgNames = document.getElementsByClassName('lectureSlidesImg');

然后,我在代码部分(“ for”循环)中添加了此声明,该声明根据视频的当前时间在正确的时间将display:inline应用于Figure标签。

imgNames[i].src = imgNames[i].getAttribute('data-src');

因此,除了显示有问题的图形标签之外,它还将获取有问题的图像的data-src值并将其插入src属性。 然后加载图像。

data- *自定义属性背后有很多功能。 很高兴我了解了这些。

但是,人们会认为display:none应该阻止加载内容,除非更改了显示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM