提问者:小点点

如何隐藏一个div一旦一个图像加载完全?


我一直在添加一个加载旋转器到我的图片在一个页面上。 为此,我设置了一个加载旋转器作为围绕图像的div的背景,一旦图像被加载,背景旋转器就会被图像覆盖。

问题是我的一些图像的中心是透明的,因此部分旋转器会穿过图像。

有没有一种方法可以设置一个div背景更改为透明(或其他一些东西,将删除/隐藏旋转器)一旦一个图像完全加载?

如果有一种方法可以在图像完全加载后触发javascript,它可以通过将javascript设置为document.getElementById('loading').style.background=“transparent”;这样的内容来工作,我只是不知道这是否可能,因为我的javascript知识非常少。

谢谢


共1个答案

匿名用户

您试图模仿一种“lazyload”,但在JS中没有可监听的事件。

对于那些类型的事件,您需要在JS代码中“传递”图像。 例如:

var img = document.createElement("img");

img.src = "path/to/image.png";

img1.onload = function() {
    console.log("Image loaded");
    yourParentElement.appendChild(img);
}

或者使用这样的库:https://github.com/verlok/vanilla-lazyload