各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > PHP

php原生上拉加载以及点击加载更多的实现方法(代码示例)

管理员 2023-09-05
PHP
127

php原生上拉加载以及点击加载更多的实现方法(代码示例)

内容导读

收集整理的这篇技术教程文章主要介绍了php原生上拉加载以及点击加载更多的实现方法(代码示例),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3627字,纯文字阅读大概需要6分钟

内容图文

本篇文章给大家带来的内容是关于php原生上拉加载以及点击加载更多的实现方法(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

设计目的

一个网站的数据非常多的时候,需要分页,方便浏览,为了方便翻页,那么我们摒弃传统的点击翻页,直接往下拉,不停地自动加载数据,这样就可以方便阅读。

设计原理

通过ajax向后端接口发起翻页请求,发送页码,后端接收页码,返回json数据,前端jquery解析json并且拼接在原有的数据基础上!

代码

index.html

<!DOCTYPE html><html><head>    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0,viewport-fit=cover">    <meta name="apple-mobile-web-app-capable" content="yes">    <meta name="apple-mobile-web-app-status-bar-style" content="black">    <meta name="format-detection" content="telephone=no">    <title>jquery+ajax上拉加载更多</title>    <style>        *{margin:0;padding: 0;}        #text p{            width: 80%;            padding: 5px 5px;            background: #eee;            margin:5px auto;        }        #loadmore{            width: 120px;            background: #eee;            height: 45px;            border-radius: 100px;            margin:20px auto;            line-height: 45px;            text-align: center;            cursor: pointer;        }        #loading{            text-align: center;        }    </style></head><body>    <h3 id="loading"></h3>    <div id="text"></div>    <div id="loadmore">点击加载更多</div></body></html><!--引入jquery库--><script type="text/javascript" src="http://www.yilingsj.com/skin/yilingsj/js/jquery-1.8.3.min.js"></script><script>// 定义一个变量,等会用来控制多次触发var i=0;$(window).scroll(function(){  //获取滚动时距离浏览器顶部的值 var t=$(this).scrollTop();  //获取当前窗口的高度 var h=$(this).height();  //获取按钮距离浏览器顶部的值 var h1=$('#loadmore').offset().top;  //用按钮的值-滚动条的值与窗口高度进行比较,如果小时,则表示按钮进入可视区,同时也表示滚动条即将到达底部 if(h1-t<h){    //防止快速下拉时多次触发  if(i==0){      //改变i的值   i=1;   //触发点击事件   $('#loadmore').click();  } }});// 加载初始数据var p = 1;$.ajax({  type:"get",  url:'server.php?page=' + p,  data:{},  dataType:"json",  success:function(data){      for (var a in data){          $('#text').append("<p>"+data[a].resname+"</p>");          $("#loading").remove();      }   i=0;        },    error:function(data){  },    beforeSend:function(data){        $('#loading').append("加载中");    } });// 加载更多$('#loadmore').click(function(){  p++; $.ajax({  type:"get",  url:'server.php?page=' + p,  data:{},  dataType:"json",  success:function(data){      for (var a in data){          $('#text').append("<p>"+data[a].resname+"</p>");          $("#loading").remove();      }   i=0;  },    error:function(data){   $('#text').append("<p>"+服务器错误+"</p>");  },    beforeSend:function(data){        $('#loading').append("加载中");    } });});</script>

server.php

<?phpheader("Content-type:application/json");header('Access-Control-Allow-Origin:*');// 连接数据库$con = mysql_connect("数据库地址","数据库账号","数据库密码");if (!$con){die('Could not connect: ' . mysql_error());}mysql_select_db("数据库名", $con);mysql_query("SET NAMES UTF8");// 每页显示条数$pageLine = 5;// 计算总记录数$ZongPage = mysql_query("select count(*) from 表名");// 计算总页数$sum = mysql_fetch_row($ZongPage);$pageCount = ceil($sum[0]/$pageLine);    // 定义页码变量@$tmp = $_GET['page']; // 计算分页起始值$num = ($tmp - 1) * $pageLine; // 查询语句$result = mysql_query("SELECT 字段 FROM  表名 ORDER BY id DESC LIMIT " . $num . ",$pageLine");//遍历
输出$results = array();while ($row = mysql_fetch_assoc($result)) {$results[] = $row;}echo json_encode($results);//分页按钮//上一页$lastpage = $tmp-1;//下一页$nextpage = $tmp+1;//防止翻过界if (@$tmp > $pageCount) { echo "[{"result":"没有了"}]";}// 关闭数据库连接mysql_close($con);?>

以上就是php原生上拉加载以及点击加载更多的实现方法(代码示例)的详细内容,更多请关注Gxl网其它相关文章!

内容总结

以上是为您收集整理的php原生上拉加载以及点击加载更多的实现方法(代码示例)全部内容,希望文章能够帮你解决php原生上拉加载以及点击加载更多的实现方法(代码示例)所遇到的程序开发问题。 如果觉得技术教程内容还不错,欢迎将网站推荐给程序员好友。

内容备注

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部