欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jQuery+ajax實現(xiàn)滾動到頁面底部自動加載圖文列表效果(類似圖片懶加載)

 更新時間:2016年06月07日 10:55:24   作者:smartsmile2012  
這篇文章主要介紹了jQuery+ajax實現(xiàn)滾動到頁面底部自動加載圖文列表效果,模擬圖片懶加載功能,涉及jQuery的ajax與asp.net交互動態(tài)顯示頁面內(nèi)容的相關(guān)技巧,需要的朋友可以參考下

本文實例講述了jQuery+ajax實現(xiàn)滾動到頁面底部自動加載圖文列表效果。分享給大家供大家參考,具體如下:

<!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; //設(shè)置當前頁數(shù),全局變量
$(function () {
  //根據(jù)頁數(shù)讀取數(shù)據(jù)
  function getData(pagenumber) {
    i++; //頁碼自動增加,保證下次調(diào)用時為新的一頁。
    $.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();
      }
    });
  }
  //初始化加載第一頁數(shù)據(jù)
  getData(1);
  //生成數(shù)據(jù)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(); //頁面可視區(qū)域高度
  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是個參數(shù)
      if (i % 10 === 0) {//每10頁做一次停頓!
        getData(i);
        $(window).unbind('scroll');
        $("#btn_Page").show();
      } else {
        getData(i);
        $("#btn_Page").hide();
      }
    }
  }
  //定義鼠標滾動事件
  $(window).scroll(scrollHandler);
  //==============核心代碼=============
  //繼續(xù)加載按鈕事件
  $("#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
    {
      //請結(jié)合實際自行取分頁數(shù)據(jù),可調(diào)用分頁存儲過程
      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"
 }
]

PS:這里還涉及json格式數(shù)據(jù)的交互操作,關(guān)于json數(shù)據(jù)操作小編推薦幾個本站的在線工具供大家參考,相信在以后的開發(fā)中可以派上用場:

在線JSON代碼檢驗、檢驗、美化、格式化工具:
http://tools.jb51.net/code/json

在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson

json代碼在線格式化/美化/壓縮/編輯/轉(zhuǎn)換工具:
http://tools.jb51.net/code/jsoncodeformat

C語言風格/HTML/CSS/json代碼格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json

更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jquery中Ajax用法總結(jié)》、《jQuery表格(table)操作技巧匯總》、《jQuery拖拽特效與技巧總結(jié)》、《jQuery擴展技巧總結(jié)》、《jQuery常見經(jīng)典特效匯總》、《jQuery動畫與特效用法總結(jié)》、《jquery選擇器用法總結(jié)》及《jQuery常用插件及用法總結(jié)

希望本文所述對大家jQuery程序設(shè)計有所幫助。

相關(guān)文章

  • Jquery根據(jù)瀏覽器窗口改變調(diào)整大小的方法

    Jquery根據(jù)瀏覽器窗口改變調(diào)整大小的方法

    下面小編就為大家?guī)硪黄狫query根據(jù)瀏覽器窗口改變調(diào)整大小的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-02-02
  • jquery實現(xiàn)表格無縫滾動

    jquery實現(xiàn)表格無縫滾動

    這篇文章主要為大家詳細介紹了jquery實現(xiàn)表格無縫滾動,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • JQuery學(xué)習(xí)筆記 nt-child的使用

    JQuery學(xué)習(xí)筆記 nt-child的使用

    在使用JQuery的時候如果你想尋找某個容器(諸如div或者是table中的某些子元素),那么很容易就使用find方法。
    2011-01-01
  • 基于jQuery的js分頁代碼

    基于jQuery的js分頁代碼

    jquery的分頁代碼,是結(jié)合數(shù)據(jù)庫實現(xiàn)的, 這里只給出核心jquery代碼。其它的大家可以發(fā)揮下。
    2010-06-06
  • jQuery實現(xiàn)布局高寬自適應(yīng)的簡單實例

    jQuery實現(xiàn)布局高寬自適應(yīng)的簡單實例

    下面小編就為大家?guī)硪黄猨Query實現(xiàn)布局高寬自適應(yīng)的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • jQuery查找dom的幾種方法效率詳解

    jQuery查找dom的幾種方法效率詳解

    這篇文章主要記錄了在近期開發(fā)中遇到的jQuery dom基本查找方法,然后將各種方法性能做了一個比較,目的是希望自己在以后dom元素查找時,使用最優(yōu)的方案。文中介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-05-05
  • 關(guān)于HTML5的data-*自定義屬性的總結(jié)

    關(guān)于HTML5的data-*自定義屬性的總結(jié)

    大家總是習(xí)慣使用HTML標簽添加自定義屬性來存儲和操作數(shù)據(jù),所以才在HTML5規(guī)范里增加了一個自定義data屬性,這樣使用更便捷,一起跟隨小編過來看看吧
    2018-05-05
  • jquery 動態(tài)調(diào)整textarea高度

    jquery 動態(tài)調(diào)整textarea高度

    用jquery實現(xiàn)的調(diào)整textarea高度的實現(xiàn)代碼。這個動畫效果比較流暢。適合新手學(xué)習(xí)。
    2009-11-11
  • 解析jQueryEasyUI的使用

    解析jQueryEasyUI的使用

    使用EasyUI最好的方法不是學(xué)會,所有的東西都敲一遍,你也沒辦法敲得完,而是找到一個好的文檔。本文提供文檔的下載,并對jQueryEasyUI的使用進行實例解析,需要的朋友可以參考下
    2016-11-11
  • 詳解jquery插件jquery.viewport.js學(xué)習(xí)使用方法

    詳解jquery插件jquery.viewport.js學(xué)習(xí)使用方法

    本篇文章主要介紹了詳解jquery插件jquery.viewport.js學(xué)習(xí)使用方法,具有一定的參考價值,有興趣的可以了解一下
    2017-09-09

最新評論