首頁 web前端 js教程 如何使用HTML、CSS和jQuery建立一個無限滾動的新聞列表

如何使用HTML、CSS和jQuery建立一個無限滾動的新聞列表

Oct 24, 2023 am 11:00 AM
css jquery html 無限滾動

如何使用HTML、CSS和jQuery建立一個無限滾動的新聞列表

如何使用HTML、CSS和jQuery建立一個無限滾動的新聞清單

在Web 開發中,無限滾動是一種常見的互動技術,特別適用於新聞列表等需要載入大量資料的頁面。本文將介紹如何使用HTML、CSS和jQuery來實作一個無限滾動的新聞列表,並提供具體的程式碼範例。

首先,我們需要一個基本的 HTML 結構來顯示新聞清單。以下是一個簡單的範例:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>无限滚动新闻列表</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <div id="news-list">
    <ul>
      <!-- 这里将显示动态加载的新闻 -->
    </ul>
    <div id="loading-indicator">正在加载更多...</div>
  </div>

  <script src="jquery.js"></script>
  <script src="script.js"></script>
</body>
</html>
登入後複製

接下來,我們需要為這個新聞清單設定一些基本的 CSS 樣式。建立一個名為style.css 的文件,並加入以下程式碼:

#news-list {
  overflow-y: scroll;
  height: 400px;
}
ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
li {
  padding: 10px;
  border-bottom: 1px solid #ccc;
}
#loading-indicator {
  text-align: center;
  padding: 10px;
  color: #999;
}
登入後複製

在這個範例中,我們設定了新聞清單容器#news-list 的高度為400px,並使用overflow-y: scroll; 屬性來實現垂直捲動。新聞清單的樣式使用了無序列表 ul 和清單項目 li,並為清單項目新增了一條灰色的底邊線。載入更多提示訊息的樣式在 #loading-indicator 中設定。

好了,現在我們來寫 JavaScript 程式碼,使用 jQuery 實現無限滾動效果。創建一個名為script.js 的文件,並添加以下程式碼:

$(document).ready(function() {
  var page = 1;
  var loading = false;

  function loadData() {
    if (loading) return;

    loading = true;
    $('#loading-indicator').show();

    // 发起异步请求加载数据
    $.ajax({
      url: 'news.php', // 替换为加载数据的API地址
      type: 'GET',
      data: { page: page },
      success: function(data) {
        // 数据加载成功后的处理
        if (data.length > 0) {
          $('#news-list ul').append(data);
          page++;
        }

        loading = false;
        $('#loading-indicator').hide();
      }
    });
  }

  // 初始化加载第一页的数据
  loadData();

  // 当滚动到底部时触发加载下一页数据
  $('#news-list').scroll(function() {
    var distance = $('#news-list ul').outerHeight() - $('#news-list').scrollTop() - $('#news-list').height();
    if (distance < 50) {
      loadData();
    }
  });
});
登入後複製

在這段程式碼中,我們首先定義了一個變數page 表示目前加載的頁數,以及一個變數loading 表示是否正在載入資料。 loadData 函數中,我們判斷當前是否有資料正在加載,如果有則直接返回,否則顯示加載提示信息,並且發送異步請求獲取新聞數據。在請求成功後,將新聞資料追加到新聞清單中,並更新頁數。最後,隱藏載入提示訊息並將 loading 標記設為 false

完成以上程式碼後,我們需要建立一個名為 news.php 的伺服器端介面文件,用於模擬後端資料。以下是一個簡單的範例:

<?php
$page = $_GET['page'];
$pageSize = 10;
$start = ($page - 1) * $pageSize;

$data = [];

// 模拟加载数据
for ($i = 1; $i <= $pageSize; $i++) {
  $data[] = '<li>新闻标题 ' . ($start + $i) . '</li>';
}

echo implode('', $data);
登入後複製

在這個範例中,我們使用$page 來取得目前請求的頁數,並使用$pageSize 設定每頁顯示的新聞數量。然後,透過一個簡單的循環來產生模擬的新聞數據,並返回給前端。

最後,將下載好的jQuery 檔案jquery.js 和頁面所需的樣式檔案style.css、腳本檔案script.js 和伺服器端介面檔案news.php 放置於同一目錄下。

以上就是使用 HTML、CSS 和 jQuery 建立無限滾動新聞清單的基本步驟和程式碼範例。你可以根據實際需求對樣式進行調整,並修改伺服器端介面檔案來載入真實的新聞資料。希望這篇文章對你有所幫助,祝你實現一個優雅的無限滾動新聞清單!

以上是如何使用HTML、CSS和jQuery建立一個無限滾動的新聞列表的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

vue中怎麼用bootstrap vue中怎麼用bootstrap Apr 07, 2025 pm 11:33 PM

在 Vue.js 中使用 Bootstrap 分為五個步驟:安裝 Bootstrap。在 main.js 中導入 Bootstrap。直接在模板中使用 Bootstrap 組件。可選:自定義樣式。可選:使用插件。

HTML,CSS和JavaScript的角色:核心職責 HTML,CSS和JavaScript的角色:核心職責 Apr 08, 2025 pm 07:05 PM

HTML定義網頁結構,CSS負責樣式和佈局,JavaScript賦予動態交互。三者在網頁開發中各司其職,共同構建豐富多彩的網站。

了解HTML,CSS和JavaScript:初學者指南 了解HTML,CSS和JavaScript:初學者指南 Apr 12, 2025 am 12:02 AM

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

React在HTML中的作用:增強用戶體驗 React在HTML中的作用:增強用戶體驗 Apr 09, 2025 am 12:11 AM

React通過JSX與HTML結合,提升用戶體驗。 1)JSX嵌入HTML,使開發更直觀。 2)虛擬DOM機制優化性能,減少DOM操作。 3)組件化管理UI,提高可維護性。 4)狀態管理和事件處理增強交互性。

bootstrap怎麼設置框架 bootstrap怎麼設置框架 Apr 07, 2025 pm 03:27 PM

要設置 Bootstrap 框架,需要按照以下步驟:1. 通過 CDN 引用 Bootstrap 文件;2. 下載文件並將其託管在自己的服務器上;3. 在 HTML 中包含 Bootstrap 文件;4. 根據需要編譯 Sass/Less;5. 導入定製文件(可選)。設置完成後,即可使用 Bootstrap 的網格系統、組件和样式創建響應式網站和應用程序。

bootstrap怎麼寫分割線 bootstrap怎麼寫分割線 Apr 07, 2025 pm 03:12 PM

創建 Bootstrap 分割線有兩種方法:使用 標籤,可創建水平分割線。使用 CSS border 屬性,可創建自定義樣式的分割線。

bootstrap怎麼插入圖片 bootstrap怎麼插入圖片 Apr 07, 2025 pm 03:30 PM

在 Bootstrap 中插入圖片有以下幾種方法:直接插入圖片,使用 HTML 的 img 標籤。使用 Bootstrap 圖像組件,可以提供響應式圖片和更多樣式。設置圖片大小,使用 img-fluid 類可以使圖片自適應。設置邊框,使用 img-bordered 類。設置圓角,使用 img-rounded 類。設置陰影,使用 shadow 類。調整圖片大小和位置,使用 CSS 樣式。使用背景圖片,使用 background-image CSS 屬性。

bootstrap按鈕怎麼用 bootstrap按鈕怎麼用 Apr 07, 2025 pm 03:09 PM

如何使用 Bootstrap 按鈕?引入 Bootstrap CSS創建按鈕元素並添加 Bootstrap 按鈕類添加按鈕文本

See all articles