gpt4 book ai didi

javascript - 如何在页面加载时一个接一个地淡入图像?

转载 作者:太空宇宙 更新时间:2023-11-04 02:46:42 25 4
gpt4 key购买 nike

我创建了以下代码,在页面加载时将 opacity: 1 添加到页面上的所有 div。这样做时,所有图像都会在页面加载时看到,但我希望每个图像都慢慢淡入,并且在一个完全加载/可见后我希望第二个图像加载完全相同,然后是第三个图像。

我怎样才能通过下面的代码完成这个;需要更改/添加什么?请注意它必须使用纯 Javascript;没有 CSS3 或 jQuery,因为我正在使用的专有框架需要纯 JS。

var imageOne = document.getElementById('imageOne');
var imageTwo = document.getElementById('imageTwo');
var imageThr = document.getElementById('imageThr');

function fadeIn() {
imageOne.style.opacity = '1';
imageTwo.style.opacity = '1';
imageThr.style.opacity = '1';
}
#imageOne {
background: url('https://thingiverse-production-new.s3.amazonaws.com/renders/16/04/2d/b5/ed/smiley_face_thumb_small.jpg');
background-repeat: no-repeat;
width: 50px;
height: 50px;
margin-right: 20px;
float: left;
opacity: 0;
}
#imageTwo {
background: url('http://www.mpaart.org/wp-content/uploads/2015/07/twitter-logo-round-50x50.png');
background-repeat: no-repeat;
width: 50px;
height: 50px;
margin-right: 20px;
float: left;
opacity: 0;
}
#imageThr {
background: url('http://orig08.deviantart.net/24c1/f/2009/238/d/8/small_50x50__png_clock_pic_by_counter_countdown_ip.png');
background-repeat: no-repeat;
width: 50px;
height: 50px;
float: left;
opacity: 0;
}
<body onload="fadeIn()">
<div id="wrapper">
<div id="imageOne"></div>
<div id="imageTwo"></div>
<div id="imageThr"></div>
</div>
</body>

最佳答案

您可以使用 CSS 转换,它更快并且不需要 jQuery。

.fadeIn {
transition: opacity 1.25s;
}

fadeIn 类添加到您的图像元素,现在它会淡出。

要让它一个接一个地淡出,使用 JavaScript 计时器间隔设置不透明度为 1。示例:

var elements = [ /* Image elements to fade */ ];

for (var i = 0; i < elements.length; i++) {
setTimeout(function() {
elements[i].style.opacity = 1;
}, 1250 * i);
}

关于javascript - 如何在页面加载时一个接一个地淡入图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33750053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com