热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ajax自动加载列表页,jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)...

本文实例讲述了jQueryajax实现滚动到页面底部自动加载图文列表效果。分享给大家供大家参考,具体如下:phttp:www.w3.orgTRxht

本文实例讲述了jQuery+ajax实现滚动到页面底部自动加载图文列表效果。分享给大家供大家参考,具体如下:

/p>

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

滚动到页面顶部加载

.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;

}

滚动测试

loading.gif

查看更多>>>

/*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

html += '

';

html += '

' + json[i].rowId + ' ' + json[i].D_Name + '
';

html += '

' + json[i].D_Name + ' ' + json[i].D_Password + '
';

html += '

';

}

$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 &#61;&#61;&#61; 0) {//每10页做一次停顿&#xff01;

getData(i);

$(window).unbind(&#39;scroll&#39;);

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

} else {

getData(i);

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

}

}

}

//定义鼠标滚动事件

$(window).scroll(scrollHandler);

//&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;核心代码&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;&#61;

//继续加载按钮事件

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

getData(i);

$(window).scroll(scrollHandler);

});

});

using System;

using System.Web;

using System.Data;

using MSCL;

using Newtonsoft.Json;

public class Handler : IHttpHandler {

public void ProcessRequest(HttpContext context)

{

//核心处理程序

string pageSize &#61; context.Request["pagesize"];

string pageIndex &#61; context.Request["pagenumber"];

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

{

context.Response.Write("");

}

else

{

//请结合实际自行取分页数据&#xff0c;可调用分页存储过程

MSCL.PageHelper p &#61; new PageHelper();

p.CurrentPageIndex &#61; Convert.ToInt32(pageIndex);

p.FieldsName &#61; "*";

p.KeyField &#61; "d_id";

p.SortName &#61; "d_id asc";

p.TableName &#61; "testtable";

p.EndCondition &#61; "count(*)";

p.PageSize &#61; Convert.ToInt32(pageSize);

DataTable dt &#61; p.QueryPagination();

string json &#61; JsonConvert.SerializeObject(dt, Formatting.Indented);

context.Response.Write(json);

}

}

public bool IsReusable {

get {

return false;

}

}

}

[

{

"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"

}

]

PS&#xff1a;这里还涉及json格式数据的交互操作&#xff0c;关于json数据操作小编推荐几个本站的在线工具供大家参考&#xff0c;相信在以后的开发中可以派上用场&#xff1a;

希望本文所述对大家jQuery程序设计有所帮助。



推荐阅读
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 使用HTML和JavaScript实现视频截图功能
    本文介绍了如何利用HTML和JavaScript实现从远程MP4、本地摄像头及本地上传的MP4文件中截取视频帧,并展示了具体的实现步骤和示例代码。 ... [详细]
  • 在PHP中如何正确调用JavaScript变量及定义PHP变量的方法详解 ... [详细]
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 本文探讨了使用JavaScript在不同页面间传递参数的技术方法。具体而言,从a.html页面跳转至b.html时,如何携带参数并使b.html替代当前页面显示,而非新开窗口。文中详细介绍了实现这一功能的代码及注释,帮助开发者更好地理解和应用该技术。 ... [详细]
  • 在React中使用setState时遇到错误,本文将详细分析错误原因并提供解决方案。 ... [详细]
  • 本文介绍了如何在 Spring Boot 项目中使用 spring-boot-starter-quartz 组件实现定时任务,并将 cron 表达式存储在数据库中,以便动态调整任务执行频率。 ... [详细]
  • 本文详细介绍了如何使用JavaScript实现面部交换功能,包括基本原理和具体实现步骤。 ... [详细]
  • 包含phppdoerrorcode的词条 ... [详细]
  • 一个建表一个执行crud操作建表代码importandroid.content.Context;importandroid.database.sqlite.SQLiteDat ... [详细]
  • 如何在Java中使用DButils类
    这期内容当中小编将会给大家带来有关如何在Java中使用DButils类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。D ... [详细]
  • 本文深入解析了 jQuery 中用于扩展功能的三个关键方法:`$.extend()`、`$.fn` 和 `$.fn.extend()`。其中,`$.extend()` 用于扩展 jQuery 对象本身,而 `$.fn.extend()` 则用于扩展 jQuery 的原型对象,使自定义方法能够作为 jQuery 实例的方法使用。通过这些方法,开发者可以轻松地创建和集成自定义插件,增强 jQuery 的功能。文章详细介绍了每个方法的用法、参数及实际应用场景,帮助读者更好地理解和运用这些强大的工具。 ... [详细]
author-avatar
政委锤炼_394_774
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有