JS 插件dropload下拉刷新、上拉加载使用小结
发布时间 - 2026-01-11 00:38:45 点击率:次前端展示php代码;
<?php
header("Content-type: text/html; charset=utf-8");
include_once("./config.php");
// 初始显示界面数据获取
$data = file_get_contents(URL."/interfaces/page.php?paging=1");
// echo $data;die;
$data = json_decode($data);
// var_dump($data);die;
?>
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta name="viewport" content="initial-scale=1, user-scalable=0, minimal-ui" charset="UTF-8">
<title>加载顶部、底部</title>
<!-- 页面布局 -->
<link rel="stylesheet" type="text/css" href="./css/display.css" rel="external nofollow" >
<!-- 框架布局 -->
<link rel="stylesheet" href="./css/dropload.css" rel="external nofollow" >
</head>
<body>
<div class="header">
<h1>就当我是新闻页吧</h1>
</div>
<div class="content">
<div class="lists">
<!-- lists在外 避免造成多次循环输出 -->
<?php for ($i=0; $i < count($data->data) ; $i++) { ?>
<a class="item" href="#" rel="external nofollow" >
<img src="./img/pic.jpg" alt="">
<h3>hehe</h3>
<span class="date"><?php echo $data->data[$i]->id; ?></span>
</a>
<?php } ?>
</div>
</div>
<div class="footer">
<a href="#1" rel="external nofollow" class="item">测试菜单</a>
<a href="#2" rel="external nofollow" class="item">只做展示</a>
<a href="#3" rel="external nofollow" class="item">无功能</a>
<a href="#4" rel="external nofollow" class="item">不用点</a>
</div>
<!-- jQuery1.7以上 或者 Zepto 二选一,不要同时都引用 -->
<script src="./js/jquery.min.js"></script>
<script src="./js/dropload.min.js"></script>
<script>
$(function(){
var paging = 1;//页码数
// dropload函数接口设置
$('.content').dropload({
scrollArea : window,
// 下拉刷新模块显示内容
domUp : {
domClass : 'dropload-up',
// 下拉过程显示内容
domRefresh : '<div class="dropload-refresh">↓下拉过程显示内容-下拉刷新-自定义内容</div>',
// 下拉到一定程度显示提示内容
domUpdate : '<div class="dropload-update">↑释放更新-自定义内容</div>',
// 释放后显示内容
domLoad : '<div class="dropload-load"><span class="loading"></span>加载中-自定义内容...</div>'
},
domDown : {
domClass : 'dropload-down',
// 滑动到底部显示内容
domRefresh : '<div class="dropload-refresh">↑上拉加载更多-自定义内容</div>',
// 内容加载过程中显示内容
domLoad : '<div class="dropload-load"><span class="loading"></span>加载中-自定义内容...</div>',
// 没有更多内容-显示提示
domNoData : '<div class="dropload-noData">暂无数据-自定义内容</div>'
},
// 1 . 下拉刷新 回调函数
loadUpFn : function(me){
$.ajax({
type: 'GET',
// 每次获取最新的数据即可
url: './interfaces/page.php?paging=1',
dataType: 'json',
success: function(data){
// $.ajax()虽然接口提供json字符串,但接收到的是 json对象
// alert(typeof(data));
var result = '';
// 循环拼接显示内容 DOM
// 刷新获取多少数据,显示多少 使用html()重置 lists DOM
for(var i = 0; i < data.data.length; i++){
result += '<a class="item opacity" href="'+data.data[i].link+'" rel="external nofollow" rel="external nofollow" >'
+'<img src="'+data.data[i].pic+'" alt="">'
+'<h3>hehe</h3>'
+'<span class="date">'+data.data[i].id+'</span>'
+'</a>';
}
// 为了测试,延迟1秒加载
setTimeout(function(){
// 插入加载使用 html() 重置 DOM
$('.lists').html(result);
// 每次数据加载完,必须重置
me.resetload();
},1000);
},
// 加载出错
error: function(xhr, type){
alert('Ajax error!');
// 即使加载出错,也得重置
me.resetload();
}
});
},
// 2 . 上拉加载更多 回调函数
loadDownFn : function(me){
paging++; // 每次请求,页码加1
$.ajax({
type: 'GET',
url: './interfaces/page.php?paging='+paging,
dataType: 'json',
success: function(data){
// data = JSON.parse(data);
var result = '';
// 选择需要显示的数据 拼接 DOM
for(var i = 0; i < data.data.length; i++){
result += '<a class="item opacity" href="'+data.data[i].link+'" rel="external nofollow" rel="external nofollow" >'
+'<img src="'+data.data[i].pic+'" alt="">'
+'<h3>heheh</h3>'
+'<span class="date">'+data.data[i].id+'</span>'
+'</a>';
if(data.data.length<15){
// 再往下已经没有数据
// 锁定
me.lock();
// 显示无数据
me.noData();
break;
}
}
// 为了测试,延迟1秒加载
setTimeout(function(){
// 加载 插入到原有 DOM 之后
$('.lists').append(result);
// 每次数据加载完,必须重置
me.resetload();
},1000);
},
// 加载出错
error: function(xhr, type){
alert('Ajax error!');
// 即使加载出错,也得重置
me.resetload();
}
});
},
threshold : 50 // 什么作用???
});
});
</script>
</body>
</html>
后端分页接口
<?php
header("Content-type: text/html; charset=utf-8");
// 包含数据库配置信息
include_once('../config.php');
// 接收数据
$paging = isset($_REQUEST['paging'])?$_REQUEST['paging']:'';
// $paging = 1;
$num = 15;//每页显示记录条数
$start_page = $num*($paging-1);// 每页第一条记录编号
// 用于返回数据
$return = array();
$data = array();
/* mysqli 面向对象 编程方式 */
// 1 . 创建数据库链接
$conn = new mysqli($servername,$username,$password,$database);
if ($conn->connect_error) {
die("连接失败 : ".$conn->connect_error);
}
// echo "链接成功";
// 设置字符集(以防出错 每次都要写)
$conn->query("SET NAMES utf8");
// 2 . 数据操作
$sql = "SELECT * FROM mission_news order by id desc limit $start_page , $num;";
// $sql = "SELECT * FROM mission_news order by id desc limit 0 , 15;";
// 3 . 执行一条语句
$ret = $conn->query($sql);
// 4 . 循环获取每条记录
if ($ret->num_rows > 0) {
while ($row = $ret->fetch_assoc()) { //将每条记录以 数组形式 返回
// var_dump($row);
// echo "id = ".$row['id']." mid = ".$row['mid']." context = ".$row['context']."<br>";
$tmp = array();//临时数组整合信息
$tmp['id'] = $row['id'];
$tmp['mid'] = $row['mid'];
$tmp['context'] = $row['context'];
$tmp['turn'] = $row['turn'];
$tmp['created'] = $row['created'];
// 临时数组 拼接到 返回的数组中
$data[] = $tmp; // 自增
}
// 拼接返回数组
$return['result'] = 1;
$return['data'] = $data;
}
// 5 . 关闭数据库
$conn->close();
// 6 . 编码为json字符串返回
echo json_encode($return);
?>
以上所述是小编给大家介绍的JS 插件dropload下拉刷新、上拉加载使用小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# dropload.js
# 下拉刷新
# 上拉加载
# vue插件mescroll.js实现移动端上拉加载和下拉刷新
# vue.js整合vux中的上拉加载下拉刷新实例教程
# mescroll.js上拉加载下拉刷新组件使用详解
# dropload.js插件下拉刷新和上拉加载使用详解
# vue.js移动端app之上拉加载以及下拉刷新实战
# angularjs实现上拉加载和下拉刷新数据功能
# JS+CSS实现下拉刷新/上拉加载插件
# 基于iscroll.js实现下拉刷新和上拉加载效果
# 原生js实现下拉刷新和上拉加载更多
# 加载
# 自定义
# 每页
# 也得
# 每条
# 回调
# 小编
# 的是
# 我是
# 加载中
# 暂无
# 在此
# 给大家
# 分页
# 每次都
# 第一条
# 就当
# 拉到
# 只做
# 所述
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
微信小程序 HTTPS报错整理常见问题及解决方案
网站制作企业,网站的banner和导航栏是指什么?
Laravel如何与Inertia.js和Vue/React构建现代单页应用
如何安全更换建站之星模板并保留数据?
Laravel如何处理表单验证?(Requests代码示例)
Laravel安装步骤详细教程_Laravel环境搭建指南
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
Mybatis 中的insertOrUpdate操作
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程
千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
南京网站制作费用,南京远驱官方网站?
Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
如何在香港服务器上快速搭建免备案网站?
如何破解联通资金短缺导致的基站建设难题?
Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】
Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理
音乐网站服务器如何优化API响应速度?
如何用免费手机建站系统零基础打造专业网站?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
香港服务器选型指南:免备案配置与高效建站方案解析
java获取注册ip实例
php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】
Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程
Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全
Android仿QQ列表左滑删除操作
EditPlus 正则表达式 实战(3)
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
成都网站制作公司哪家好,四川省职工服务网是做什么用?
Android使用GridView实现日历的简单功能
Laravel如何创建自定义中间件?(Middleware代码示例)
如何用JavaScript实现文本编辑器_光标和选区怎么处理
如何为不同团队 ID 动态生成多个“认领值班”按钮
大学网站设计制作软件有哪些,如何将网站制作成自己app?
如何快速搭建个人网站并优化SEO?
如何在IIS中配置站点IP、端口及主机头?
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
奇安信“盘古石”团队突破 iOS 26.1 提权
如何快速搭建高效可靠的建站解决方案?
Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程
Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤
Laravel如何使用模型观察者?(Observer代码示例)
uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址
如何在阿里云域名上完成建站全流程?
Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言
如何快速搭建高效简练网站?
Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】
HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】

