jQuery+ajaxは、ページの一番下までスクロールしたときに画像とテキストのリストを自動的に読み込む効果を実現します(画像の遅延読み込みと同様)
この記事の例では、ページの一番下までスクロールしたときに画像とテキストのリストを自動的にロードする jQuery+ajax の効果について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
<!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>
ログイン後にコピー
/*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); }); });
ログイン後にコピー
<%@ 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; } } }
ログイン後にコピー
[ { "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" } ]
ログイン後にコピー
この記事が jQuery プログラミングのすべての人に役立つことを願っています。
画像とテキストのリスト効果を自動的にロードするためにページの一番下までスクロールする jQuery+ajax の実装 (画像の遅延ロードと同様) については、PHP 中国語 Web サイトに注目してください。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最高のグラフィック設定
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
アサシンのクリードシャドウズ:シーシェルリドルソリューション
2週間前
By DDD
R.E.P.O.誰も聞こえない場合はオーディオを修正する方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:Myriseのすべてのロックを解除する方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7467
15


CakePHP チュートリアル
1376
52


Steamのアカウント名の形式は何ですか
77
11


NYTの接続はヒントと回答です
18
20

