黑马程序员技术交流社区

标题: 分享一个我写的jquery+ajax无刷新分页代码 [打印本页]

作者: 笔墨伺候    时间: 2012-10-17 15:38
标题: 分享一个我写的jquery+ajax无刷新分页代码
JS代码为
  1. <script type="text/javascript">
  2.         var totalPage = 1; //总页数
  3.         var totalNode; //总节点
  4.         var ksCount = 8; //可是区显示几页

  5.         var fid = 0;

  6.         var currentNode = 1; //当前节
  7.         var currentPage = 1; //当前页
  8.         $(function () {
  9.             $.post("../admin/ashx/news.ashx", { "action": "getNewsCount" }, function (data, status) {
  10.                 if (status == "success") {
  11.                     var res = data.split("_");
  12.                     totalPage = parseInt(res[0]);

  13.                     initPage();
  14.                     $("#totalJL").html(res[1]);
  15.                 }
  16.             });

  17.             goto(1);
  18.             $(".closeEdit").click(function () {
  19.                 $(".tanchuEdit").fadeOut();
  20.             });


  21.         });
  22.         //点击指定页码发生的动作
  23.         function ynase(obj) {
  24.             if ($(obj).html() != currentPage) {
  25.                 goto($(obj).html());
  26.                 $(".num").css("background-color", "#FFFFFF");
  27.                 $(".num").css("color", "#326fc1");
  28.                 $(obj).css("background-color", "#326fc1");
  29.                 $(obj).css("color", "#FFFFFF");
  30.             }


  31.         }
  32.         //转到指定页面
  33.         function goto(page) {
  34.             var load = "<tr><td style='text-align:center; border:0'>加载中...</td></tr><tr><td style='text-align:center; height:20px;'><img src='../images/load.gif' /></td></tr>";
  35.             $("#conte").html(load);
  36.             $.post("../admin/ashx/news.ashx", { "action": "getNewsByPage", "page": page }, function (data, status) {
  37.                 if (status == "success") {
  38.                     var tgs = $.parseJSON(data);
  39.                     $("#conte").empty();

  40.                     for (var i = 0; i < tgs.length; i++) {
  41.                         var tr = $("<tr><td style='width:22px'><img src='../images/newslo.gif'/></td><td><a href='news-" + tgs[i].id + ".html'>" + tgs[i].title + "</a></td><td style='text-align:right'>" + tgs[i].shijian + "  <a href='news-" + tgs[i].id + ".html'>查看全文</a></td></tr>");
  42.                         //var tr = $("<tr ><td>" + tgs[i].id + "</td><td>" + tgs[i].title + "</td><td>" + tgs[i].shijian + "</td><td><a href='admin_addNews.aspx?nid=" + tgs[i].id + "'><img src='../images/edit.png' style='cursor:pointer; border:0'   nid='" + tgs[i].id + "' /></a></td><td style='width:100px'><a href='#' target='_blank'>预览</a></td><td><img src='../images/del.png'class='delFile'onclick='del(this)' fid='" + tgs[i].id + "'></td></tr>");
  43.                         $("#conte").append(tr);
  44.                     }

  45.                     currentPage = page;
  46.                 }
  47.             });
  48.         }
  49.         
  50.       

  51.         //初始化
  52.         function initPage() {


  53.             totalNode = parseInt(totalPage / ksCount);
  54.             if (totalPage % ksCount != 0) {
  55.                 totalNode = totalNode + 1;
  56.             }

  57.             for (var i = 1; i <= totalPage; i++) {
  58.                 $("#fy").append("<span class='num' onclick='ynase(this)'>" + i + "</span>");
  59.             }

  60.             $(".num:lt(" + ksCount + ")").fadeIn();
  61.             $(".num:eq(0)").css("background-color", "#326fc1");
  62.             $(".num:eq(0)").css("color", "#FFFFFF");
  63.             //下一节
  64.             $("#next").click(function () {
  65.                 if (currentNode < totalNode) {
  66.                     $(".num").css("display", "none");
  67.                     $(".num:gt(" + (currentNode * ksCount - 1) + "):lt(" + ksCount + ")").fadeIn();
  68.                     ynase(".num:eq(" + (currentNode * ksCount) + ")");
  69.                     currentNode++;
  70.                     currentPage = currentNode * ksCount + 1;

  71.                 }
  72.             });
  73.             //上一节
  74.             $("#prev").click(function () {
  75.                 if (currentNode > 1) {
  76.                     $(".num").css("display", "none");

  77.                     $(".num:gt(" + (currentNode - 2) * ksCount + "):lt(" + (ksCount - 1) + ")").fadeIn();
  78.                     $(".num:eq(" + (currentNode - 2) * ksCount + ")").fadeIn();
  79.                     ynase(".num:eq(" + (currentNode - 2) * ksCount + ")");
  80.                     currentNode--;
  81.                     currentPage = (currentNode - 2) * ksCount + 1;

  82.                 }
  83.             });
  84.             //首页
  85.             $("#first").click(function () {
  86.                 if (currentPage != 1) {
  87.                     ynase(".num:eq(0)");
  88.                 }
  89.                 if (currentNode != 1) {
  90.                     $(".num").css("display", "none");
  91.                     $(".num:lt(" + ksCount + ")").fadeIn();
  92.                     currentNode = 1;

  93.                 }


  94.             });

  95.             //末页
  96.             $("#last").click(function () {
  97.                 //alert(currentPage);
  98.                 if (currentPage != totalPage) {
  99.                     ynase(".num:eq(" + (totalPage - 1) + ")");
  100.                 }
  101.                 if (currentNode != totalNode) {
  102.                     $(".num").css("display", "none");
  103.                     $(".num:gt(" + ((totalNode - 1) * ksCount - 1) + ")").fadeIn();
  104.                     currentNode = totalNode;

  105.                 }




  106.             });
  107.             //



  108.         }
  109.     </script>
复制代码
html代码为
  1. <div id="rContent">
  2.      <table width="96%" id="conte" >
  3.      </table>
  4.       <div style="margin-top:10px; float:left"><span class="num2" id="first">首页</span><span class="num2" id="prev">上一节</span><div id="fy"></div><span class="num2" id="next">下一节</span><span class="num2" id="last">末页</span></div>
  5.     </div>

  6. </div>
复制代码

作者: 许庭洲    时间: 2012-10-17 20:43
值得学习ing!
作者: 颜晋南    时间: 2012-10-17 21:04
是不是你博客上那个留言板相关的.我看了那个界面,很漂亮.
作者: 笔墨伺候    时间: 2012-10-17 23:40
颜晋南 发表于 2012-10-17 21:04
是不是你博客上那个留言板相关的.我看了那个界面,很漂亮.

呵呵,分页的JS不是,我留言本的分页是一个Jquery插件。这个分页是我自己搞的一个




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2