组件部分
const imgGroup = [{ text: '', img: 'img1.png' },
{ text: '', title: '', img: 'img2.png' },
{ text: '', title: '', img: 'img3.png' },
{ text: '', title: '', img: 'img4.png' }]
document.querySelector('.main-container')!.addEventListener('scroll', (e => listenerScroll(e)))
const listenerScroll = (e: any) => {
document.querySelectorAll('#img-group').forEach((t: any) => {
if (t.offsetTop - e.target.scrollTop < 900) {
t.src = require('../../assets/img/' + t.getAttribute('data-src'))
t.className = 'img-ani'
}
})
return(
<ul>
{
imgGroup.map((e, index) => (
<li key={index}>
<img id='img-group' src='' data-src={e.img} /></li>
))
}
</ul>
)
CSS部分
.img-ani {
animation: imgShow 2s;
}
@keyframes imgShow {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}