要实现加载器覆盖直到图像加载到网页上,可以使用以下方法:
::before
和 ::after
来创建加载器的样式。以下是一个示例代码:
HTML部分:
<div id="loader"></div>
<img id="image" src="image.jpg" alt="Image">
CSS部分:
#loader {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(255, 255, 255, 0.8);
display: flex;
justify-content: center;
align-items: center;
}
#loader::before {
content: "";
width: 50px;
height: 50px;
border-radius: 50%;
border: 5px solid #ccc;
border-top-color: #333;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
#image {
display: none;
}
JavaScript部分:
window.addEventListener('load', function() {
var loader = document.getElementById('loader');
var image = document.getElementById('image');
image.addEventListener('load', function() {
loader.style.display = 'none';
image.style.display = 'block';
});
});
这段代码首先在页面加载完成后,通过window.addEventListener('load', ...)
来监听页面加载完成事件。然后获取加载器和图像的元素,通过image.addEventListener('load', ...)
来监听图像加载完成事件。当图像加载完成后,将加载器隐藏,同时显示图像。
推荐的腾讯云相关产品:腾讯云对象存储(COS)
领取专属 10元无门槛券
手把手带您无忧上云