创建一个容器来存储列表项。
监听滚动事件,当滚动接近底部时触发加载更多操作。
加载更多数据后,将新数据附加到容器中。
以下是一个简单的示例:
- html>
- <html>
-
- <head>
- <style>
- #scroll-container {
- height: 200px;
- overflow: auto;
- }
-
- .item {
- height: 50px;
- background: #eee;
- margin-bottom: 10px;
- }
- style>
- head>
-
- <body>
- <div id="scroll-container">
- <div class="item">Item 1div>
- <div class="item">Item 2div>
- <div class="item">Item 3div>
- <div class="item">Item 4div>
- <div class="item">Item 5div>
-
- div>
-
- <script>
- const scrollContainer = document.getElementById("scroll-container");
- scrollContainer.addEventListener("scroll", () => {
- // scrollContainer.scrollTop : 当前可视化到容器最顶部的距离
- // scrollContainer.clientHeight : 当前可视化的高度
- // scrollContainer.scrollHeight : 当前容器的滚动高度
- if (
- scrollContainer.scrollTop + scrollContainer.clientHeight >=
- scrollContainer.scrollHeight
- ) {
- // Load more data and append it to the container
- for (let i = 0; i < 5; i++) {
- const newItem = document.createElement("div");
- newItem.className = "item";
- newItem.textContent = `Item ${scrollContainer.childElementCount + 1}`;
- scrollContainer.appendChild(newItem);
- }
- }
- });
- script>
- body>
-
- html>
触底加载