
一開始是五個(gè) five-list是疊在一起的,位于頁面正中間,然后當(dāng)頁面滑動(dòng)到 .five-jpg進(jìn)入視窗以后,五個(gè)five-list分別展開,第一個(gè)和第二個(gè)回到最上面,第三個(gè)在中間,第四個(gè)第五個(gè)在第三排
<!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/[email protected]/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/[email protected]/dist/js/bootstrap.bundle.min.js" ></script>