一开始是五个 five-list是叠在一起的,位于页面正中间,然后当页面滑动到 .five-jpg进入视窗以后,五个five-list分别展开,第一个和第二个回到最上面,第三个在中间,第四个第五个在第三排
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Five List Scroll Animation</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<style>
body {
margin: 0;
padding: 0;
height: 2000px;
}
.container.five-jpg {
position: relative;
min-height: calc(3.5 * var(--five-list-height));
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
}
.five-list {
position: absolute;
width: 45%;
transition: all 2s ease-in-out;
opacity: 0;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.five-list img {
width: 100%;
}
.visible {
opacity: 1;
}
</style>
</head>
<body>
<div style="height: 1500px;"></div>
<div class="container five-jpg" id="fiveJpg">
<div class="col-md-6 five-list" id="item1"><img src="seo.jpg" alt=""></div>
<div class="col-md-6 five-list" id="item2"><img src="seo.jpg" alt=""></div>
<div class="col-md-6 five-list" id="item3"><img src="seo.jpg" alt=""></div>
<div class="col-md-6 five-list" id="item4"><img src="seo.jpg" alt=""></div>
<div class="col-md-6 five-list" id="item5"><img src="seo.jpg" alt=""></div>
</div>
<div style="height: 1500px;"></div>
<script>
$(document).ready(function() {
function updateContainerHeight() {
let itemHeight = $('.five-list img').height();
document.documentElement.style.setProperty('--five-list-height', itemHeight + 'px');
}
updateContainerHeight();
$(window).on('resize', updateContainerHeight);
$(window).on('scroll', function() {
let sectionOffset = $('#fiveJpg').offset().top;
let scrollPosition = $(window).scrollTop() + $(window).height();
if (scrollPosition > sectionOffset) {
$('#item1').addClass('visible').css({ top: '0%', left: '0%', transform: 'none' });
$('#item2').addClass('visible').css({ top: '0%', right: '0%', transform: 'none' });
$('#item3').addClass('visible').css({ top: '30%', left: '25%', transform: 'none' });
$('#item4').addClass('visible').css({ top: '60%', left: '0%', transform: 'none' });
$('#item5').addClass('visible').css({ top: '60%', right: '0%', transform: 'none' });
}
});
});
</script>
</body>
</html>
</body>
</html>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" ></script>