DedeCMS(织梦内容管理系统)是一款基于PHP+MySQL开发的开源网站管理系统。下拉加载更多(Infinite Scroll)是一种网页加载技术,用户滚动到页面底部时,自动加载更多内容,无需点击“加载更多”按钮。
下拉加载更多主要分为两种类型:
下拉加载更多适用于内容较多的网站,如新闻网站、博客、电商网站等,可以有效提升用户体验,减少页面加载时间。
以下是一个简单的DedeCMS下拉加载更多的实现示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>DedeCMS 下拉加载更多</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<div id="content">
<!-- 内容区域 -->
</div>
<div id="loading" style="display:none;">加载中...</div>
</body>
</html>
$(document).ready(function() {
var page = 1;
var loading = false;
function loadMoreContent() {
if (loading) return;
loading = true;
$('#loading').show();
$.ajax({
url: 'load_more.php', // 后端处理文件
type: 'GET',
data: { page: page },
success: function(data) {
$('#content').append(data);
page++;
loading = false;
$('#loading').hide();
},
error: function() {
loading = false;
$('#loading').hide();
alert('加载失败,请稍后再试');
}
});
}
$(window).scroll(function() {
if ($(window).scrollTop() + $(window).height() >= $(document).height() - 100) {
loadMoreContent();
}
});
// 初始加载
loadMoreContent();
});
<?php
require_once 'include/common.inc.php'; // 引入DedeCMS公共文件
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
$limit = 10; // 每页加载10条数据
$sql = "SELECT * FROM `dede_archives` LIMIT " . ($page - 1) * $limit . ", $limit";
$result = $dsql->GetResult($sql);
foreach ($result as $row) {
echo '<div>' . $row['title'] . '</div>';
}
?>
通过以上方法,你可以实现一个简单的DedeCMS下拉加载更多功能,并解决可能遇到的问题。
领取专属 10元无门槛券
手把手带您无忧上云