底部自动ajax加载更多列表的js,这个怎么处理的

 我来答
育知同创教育
2017-11-01 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  

  • <html xmlns="http://www.w3.org/1999/xhtml">  

  • <head>  

  • <title>滚动到页面顶部加载</title>  

  • <script src="js/jquery-1.11.1.min.js" type="text/javascript"></script>  

  • <script src="js/endlesspage.js" type="text/javascript"></script>  

  • <style type="text/css">  

  • .mainDiv {  

  • width: 800px;  

  • border: solid 1px #f00;  

  • padding: 10px;  

  • }  

  • .item {  

  • width: 600px;  

  • height: 50px;  

  • border: solid 1px #00ff90;  

  • font-size: 12px;  

  • margin: 10px;  

  • }  

  • .title {  

  • font-size: 16px;  

  • line-height: 20px;  

  • }  

  • .content {  

  • line-height: 14px;  

  • }  

  • .alink  

  • {  

  • display:none;  

  • }  

  • .loaddiv  

  • {  

  • display:none;   

  • }  

  • </style>  

  • </head>  

  • <body>  

  • <h1>滚动测试</h1>  

  • <div class="mainDiv">  

  • <!--<div class="item">  

  • <div class="title">title</div>  

  • <div class="content">content content content content content content content</div>  

  • </div>  

  • -->  

  • </div>  

  • <div class="loaddiv">  

  • <img src="images/loading.gif" />  

  • </div>  

  • <div>  

  • <a href="javascript:void(0);" id="btn_Page" class="alink">查看更多>>></a>  

  • </div>  

  • </body>  

  • </html>  

  • [javascript] view plain copy

  • /*endlesspage.js*/  

  • var gPageSize = 10;  

  • var i = 1; //设置当前页数,全局变量  

  • $(function () {  

  • //根据页数读取数据  

  • function getData(pagenumber) {  

  • i++; //页码自动增加,保证下次调用时为新的一页。  

  • $.get("/ajax/Handler.ashx", { pagesize: gPageSize, pagenumber: pagenumber }, function (data) {  

  • if (data.length > 0) {  

  • var jsonObj = JSON.parse(data);  

  • insertDiv(jsonObj);  

  • }  

  • });  

  • $.ajax({  

  • type: "post",  

  • url: "/ajax/Handler.ashx",  

  • data: { pagesize: gPageSize, pagenumber: pagenumber },  

  • dataType: "json",  

  • success: function (data) {  

  • $(".loaddiv").hide();  

  • if (data.length > 0) {  

  • var jsonObj = JSON.parse(data);  

  • insertDiv(jsonObj);  

  • }  

  • },  

  • beforeSend: function () {  

  • $(".loaddiv").show();  

  • },  

  • error: function () {  

  • $(".loaddiv").hide();  

  • }  

  • });  

  • }  

  • //初始化加载第一页数据  

  • getData(1);  

  • //生成数据html,append到div中  

  • function insertDiv(json) {  

  • var $mainDiv = $(".mainDiv");  

  • var html = '';  

  • for (var i = 0; i < json.length; i++) {  

  • html += '<div class="item">';  

  • html += ' <div class="title">' + json[i].rowId + '   ' + json[i].D_Name + '</div>';  

  • html += ' <div class="content">' + json[i].D_Name + '   ' + json[i].D_Password + '</div>';  

  • html += '</div>';  

  • }  

  • $mainDiv.append(html);  

  • }  

  • //==============核心代码=============  

  • var winH = $(window).height(); //页面可视区域高度   

  • var scrollHandler = function () {  

  • var pageH = $(document.body).height();  

  • var scrollT = $(window).scrollTop(); //滚动条top   

  • var aa = (pageH - winH - scrollT) / winH;  

  • if (aa < 0.02) {//0.02是个参数  

  • if (i % 10 === 0) {//每10页做一次停顿!  

  • getData(i);  

  • $(window).unbind('scroll');  

  • $("#btn_Page").show();  

  • } else {  

  • getData(i);  

  • $("#btn_Page").hide();  

  • }  

  • }  

  • }  

  • //定义鼠标滚动事件  

  • $(window).scroll(scrollHandler);  

  • //==============核心代码=============  

  • //继续加载按钮事件  

  • $("#btn_Page").click(function () {  

  • getData(i);  

  • $(window).scroll(scrollHandler);  

  • });  

  • });  

  • [csharp] view plain copy

  • <%@ WebHandler Language="C#" Class="Handler" %>  

  • using System;  

  • using System.Web;  

  • using System.Data;  

  • using MSCL;  

  • using Newtonsoft.Json;  

  • public class Handler : IHttpHandler {  

  • public void ProcessRequest(HttpContext context)  

  • {  

  • //核心处理程序  

  • string pageSize = context.Request["pagesize"];  

  • string pageIndex = context.Request["pagenumber"];  

  • if (string.IsNullOrEmpty(pageSize) || string.IsNullOrEmpty(pageIndex))  

  • {  

  • context.Response.Write("");  

  • }  

  • else  

  • {  

  • //请结合实际自行取分页数据,可调用分页存储过程  

  • MSCL.PageHelper p = new PageHelper();  

  • p.CurrentPageIndex = Convert.ToInt32(pageIndex);  

  • p.FieldsName = "*";  

  • p.KeyField = "d_id";  

  • p.SortName = "d_id asc";  

  • p.TableName = "testtable";  

  • p.EndCondition = "count(*)";  

  • p.PageSize = Convert.ToInt32(pageSize);  

  • DataTable dt = p.QueryPagination();  

  • string json = JsonConvert.SerializeObject(dt, Formatting.Indented);  

  • context.Response.Write(json);  

  • }  

  • }  

  • public bool IsReusable {  

  • get {  

  • return false;  

  • }  

  • }  

  • }  

  • [html] view plain copy

  • [  

  • {  

  • "rowId": 1,  

  • "D_Id": 1,  

  • "D_Name": "名称1",  

  • "D_Password": "密码测试1",  

  • "D_Else": "其他1"  

  • },  

  • {  

  • "rowId": 2,  

  • "D_Id": 2,  

  • "D_Name": "名称2",  

  • "D_Password": "密码测试2",  

  • "D_Else": "其他2"  

  • },  

  • {  

  • "rowId": 3,  

  • "D_Id": 3,  

  • "D_Name": "名称3",  

  • "D_Password": "密码测试3",  

  • "D_Else": "其他3"  

  • },  

  • {  

  • "rowId": 4,  

  • "D_Id": 4,  

  • "D_Name": "名称4",  

  • "D_Password": "密码测试4",  

  • "D_Else": "其他4"  

  • },  

  • {  

  • "rowId": 5,  

  • "D_Id": 5,  

  • "D_Name": "名称5",  

  • "D_Password": "密码测试5",  

  • "D_Else": "其他5"  

  • },  

  • {  

  • "rowId": 6,  

  • "D_Id": 6,  

  • "D_Name": "名称6",  

  • "D_Password": "密码测试6",  

  • "D_Else": "其他6"  

  • },  

  • {  

  • "rowId": 7,  

  • "D_Id": 7,  

  • "D_Name": "名称7",  

  • "D_Password": "密码测试7",  

  • "D_Else": "其他7"  

  • },  

  • {  

  • "rowId": 8,  

  • "D_Id": 8,  

  • "D_Name": "名称8",  

  • "D_Password": "密码测试8",  

  • "D_Else": "其他8"  

  • },  

  • {  

  • "rowId": 9,  

  • "D_Id": 9,  

  • "D_Name": "名称9",  

  • "D_Password": "密码测试9",  

  • "D_Else": "其他9"  

  • },  

  • {  

  • "rowId": 10,  

  • "D_Id": 10,  

  • "D_Name": "名称10",  

  • "D_Password": "密码测试10",  

  • "D_Else": "其他10"  

  • }  

  • ]              

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式