HTML5和JS特效代碼翻頁可以在網站上增加交互性和體驗性。下面我們來看一下這個特效是如何實現的。
<!-- html --> <div id="content"> <div class="page"> <div class="page-content"> <p>第一頁內容</p> </div> </div> <div class="page"> <div class="page-content"> <p>第二頁內容</p> </div> </div> <div class="page"> <div class="page-content"> <p>第三頁內容</p> </div> </div> </div>
我們首先需要創建一個包含多個頁面的容器,每個頁面都應該為一個獨立的元素。在本例中,我們使用了一個div來作為頁面容器,并為每個頁面分別添加了page類。在每個頁面中,我們可以放置任何我們想要展示的內容。
<!-- css --> #content { width: 100vw; height: 100vh; position: relative; overflow: hidden; } .page { width: 100%; height: 100%; position: absolute; top: 0; left: 0; transition: transform 0.6s cubic-bezier(0.18, 0.89, 0.32, 1.28); } .page-content { width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; font-size: 3rem; }
我們使用CSS來設置頁面的樣式,讓它們適應容器大小,并設置合適的過渡效果。我們還為每個頁面內的內容添加了樣式,使它們居中顯示,并且字體大小適合展示。
<!-- js --> let currentPage = 0; let maxPage = 2; document.addEventListener('wheel', handleScroll); document.addEventListener('keydown', handleKeydown); function handleScroll(event) { event.preventDefault(); const deltaY = event.deltaY; if (deltaY >0) { showNextPage(); } else { showPrevPage(); } } function handleKeydown(event) { const keyCode = event.keyCode; if (keyCode === 40 || keyCode === 34) { showNextPage(); } else if (keyCode === 38 || keyCode === 33) { showPrevPage(); } } function showNextPage() { if (currentPage< maxPage) { currentPage++; transformPages(); } } function showPrevPage() { if (currentPage >0) { currentPage--; transformPages(); } } function transformPages() { const content = document.querySelector('#content'); content.style.transform = `translateY(-${currentPage * 100}%)`; }
最后,我們使用JS來控制頁面的翻頁效果。在本例中,我們監聽了鼠標滾輪和鍵盤事件,當響應到了“上一步”或“下一步”操作時,我們將頁面容器進行上下移動,展示下一個或上一個頁面的內容。
以上就是HTML5和JS特效代碼翻頁實現的簡單介紹和代碼示例。需要注意的是,我們需要對代碼進行適當的調整和定制,以適應所需要的特效和網站需求。
下一篇dockersdkc