乱码乱a∨中文字幕,在线免费激情视频,亚洲欧美久久夜夜潮,国产在线网址

  1. <sub id="hjl7n"></sub>

    1. <sub id="hjl7n"></sub>

      <legend id="hjl7n"></legend>

      當前位置:首頁 >  站長 >  編程技術 >  正文

      前后端結(jié)合實現(xiàn)amazeUI分頁效果

       2021-01-18 17:08  來源: 腳本之家   我來投稿 撤稿糾錯

        阿里云優(yōu)惠券 先領券再下單

      這篇文章主要介紹了前后端結(jié)合實現(xiàn)amazeUI分頁,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

      前后端結(jié)合實現(xiàn)amazeUI分頁,代碼如下所示;

      借鑒

      本文在博客https://blog.csdn.net/brave_coder/article/details/52367124的基礎上實現(xiàn)的,非常感謝大佬的分享。

      前端實現(xiàn)

      1、引入paginator.js

      (function ($) {
          $.fn.paginator = function (options) {
              //this指向當前的選擇器
              var config = {
                  url: "",
                  pageParent: "",
                  totalBars: -1,
                  limit: -1,
                  offset: 1,
                  callback: null
              }
              //合并參數(shù)
              var opts = $.extend(config, options);
       
              opts.totalBars = Math.ceil(opts.totalBars / opts.limit);
              //計算按鈕的總個數(shù)
       
              //獲取offset參數(shù)
              var queryString = function (url) {
                  var offset = (url.split("?")[1]).split("=")[1];
                  return parseInt(offset);
              }
       
              //ajax核心方法,用于分頁的數(shù)據(jù)操作
              var ajaxCore = function (offset, fn) {
                  $.ajax({
                      "url": opts.url,
                      "data": {
                          "offset": offset,
                          "limit": opts.limit
                      },
                      "dataType": "JSON",
                      "method": "POST",
                      "success": fn
                  });
              }
       
              //重新裝配分頁按鈕
              var pageCore = function (offset) {
                  if (opts.offset == offset) {
                      return;
                  } //如果是當前頁面,那么就什么事都不用干了!
                  else {
                      ajaxCore(offset, opts.callback);
                      $(opts.pageParent).empty();
                      //否則,清空所有的節(jié)點,重新向DOM插入新的分頁按鈕
                      var output = "";
                      var nextBar = offset == opts.totalBars ? "<li class=\"am-disabled\"><a yxhref=\"javascript:;\">»</a></li>" : "<li><a yxhref=\"" + opts.url + (offset + 1) + "\">»</a></li>";
                      var preBar = offset == 1 ? "<li class=\"am-disabled\"><a yxhref=\"javascript:;\">«</a></li>" : "<li><a yxhref=\"" + opts.url + (offset - 1) + "\">«</a></li>";
                      //組裝向上一個節(jié)點和下一頁節(jié)點
                      if (opts.totalBars > 7) {
                          if (offset < 5) {
                              output += preBar;
                              for (var i = 1; i <= 5; i++) {
                                  if (i == offset) {
                                      output += "<li class=\"am-active\"><a yxhref=\"" + opts.url + offset + "\">" + offset + "</a></li>";
                                  } else {
                                      output += "<li><a yxhref=\"" + opts.url + i + "\">" + i + "</a></li>";
                                  }
                              }
                              output += "<li><span>...</span></li>";
                              output += "<li><a yxhref=\"" + opts.url + (opts.totalBars) + "\">" + (opts.totalBars) + "</a></li>" + nextBar;
                          } else if (offset >= 5 && offset <= opts.totalBars - 4) {
                              //當頁面大于7個的時候,那么在第五個和倒數(shù)第五個時,執(zhí)行
                              output += preBar;
                              output += "<li><a yxhref=\"" + opts.url + 1 + "\">" + 1 + "</a></li>";
                              //第一個
                              output += "<li><span>...</span></li>"; //省略號
       
                              output += "<li><a yxhref=\"" + opts.url + (offset - 1) + "\">" + (offset - 1) + "</a></li>";
       
                              output += "<li class=\"am-active\"><a  yxhref=\"" + opts.url + offset + "\">" + offset + "</a></li>";
       
                              output += "<li><a yxhref=\"" + opts.url + (offset + 1) + "\">" + (offset + 1) + "</a></li>";
       
                              output += "<li><span>...</span></li>"; //省略號;
       
                              output += "<li><a yxhref=\"" + opts.url + (opts.totalBars) + "\">" + (opts.totalBars) + "</a></li>"; //尾頁
       
                              output += nextBar;
       
                          } else if (offset > opts.totalBars - 4 && offset <= opts.totalBars) {
                              //當頁面位于倒數(shù)第四個時候
                              output += preBar;
                              output += "<li><a yxhref=\"" + opts.url + 1 + "\">" + 1 + "</a></li>" + "<li><span>...</span></li>";
       
                              for (var j = 4; j >= 0; j--) {
                                  if (opts.totalBars - j == offset) {
                                      output += "<li class=\"am-active\"><a yxhref=\"" + opts.url + (opts.totalBars - j) + "\">" + (opts.totalBars - j) + "</a></li>";
                                  } else {
                                      output += "<li><a yxhref=\"" + opts.url + (opts.totalBars - j) + "\">" + (opts.totalBars - j) + "</a></li>";
                                  }
                              }
                              output += nextBar;
                          } else {
                              console.log("分頁數(shù)據(jù)出錯!");
                              return;
                          }
                      } else {
                          output += preBar;
                          for (var i = 1; i <= opts.totalBars; i++) {
                              if (i == offset) {
                                  output += "<li class=\"am-active\"><a yxhref=\"" + opts.url + offset + "\">" + offset+ "</a></li>";
                              } else {
                                  output += "<li><a yxhref=\"" + opts.url + i + "\">" + i+ "</a></li>";
                              }
                          }
                          output += nextBar;
                      }
                      $(opts.pageParent).append(output);
                      opts.offset = offset; //將偏移量賦值給config里面的offset
                  }
              }
       
              //清理函數(shù),防止多綁定事件和重新計算分頁
              var clear = function () {
                  $(opts.pageParent).empty().undelegate();
              }
       
       
              //初始化裝配分頁按鈕
              var init = function (fn) {
                  if (typeof (fn) != "function") {
                      console.log("將不能正確的執(zhí)行回調(diào)函數(shù)");
                  } else {
                      opts.callback = fn;
                  }
                  clear();
                  ajaxCore(1, opts.callback);//執(zhí)行初始化ajax方法
                  var preBar = "<li class=\"am-disabled\"><a yxhref=\"javascript:;\">«</a></li>";
                  //上一頁,(禁用的效果)
                  //如果只有一頁,那么禁用下一頁
                  var nextBar = opts.totalBars > 1 ? "<li><a yxhref=\"" + opts.url + 2 + "\">»</a></li>" : "<li class=\"am-disabled\"><a yxhref=\"javascript:;\">»</a></li>";
                  //最后一頁
                  var output = "<li class=\"am-active\"><a yxhref=\"" + opts.url + 1 + "\">1</a></li>";
       
                  if (opts.totalBars <= 7) {
                      for (var i = 1; i < opts.totalBars; i++) {
                          output += "<li><a yxhref=\"" + opts.url + (i + 1) + "\">" + (i + 1) + "</a></li>";
                      }
                  } else {
                      for (var j = 1; j < 5; j++) {
                          output += "<li><a yxhref=\"" + opts.url + (j + 1) + "\">" + (j + 1) + "</a></li>";
                      }
                      output += "<li><span>...</span></li>";
                      output += "<li><a yxhref=\"" + opts.url + (opts.totalBars) + "\">" + (opts.totalBars) + "</a></li>";
                  }
                  $(opts.pageParent).delegate("a","click", function () {
                      var offset = queryString($(this).attr("yxhref"));
                      console.log("ok");
                      pageCore(offset);
                  });
                  $(opts.pageParent).append(preBar + output + nextBar);
              };
              init(opts.callback);//初始化分頁引擎
          }
      }(window.jQuery))

      2、獲取總頁數(shù),再獲取分頁

      $.ajax({
              type: "GET",
              url: selectSendNumberNumsByContURL,//獲取總數(shù)
              data: {},
              dataType: "json",
              success: function(data){

                  if (data[0].code == 200) {

                      $("#paginator").paginator({
                          url: selectSendNumberByContURL + "?offsets=",
                          pageParent: "#paginator",
                          totalBars: data[0].allNums,
                          limit: 10,
                          offset: 1,
                          callback: function (data1) {

                              //清空DOM節(jié)點
                             
                              //動態(tài)加dom節(jié)點
                          }
                      });
                  }else{

                  }
              },
              error: function (err) {

              }
          });

      后端實現(xiàn)(分頁)

      這里是controller,拿到offset(第幾頁)參數(shù)、limit(每頁多少數(shù)量),再寫SQL實現(xiàn)分頁就好了。

      @RequestMapping(value = "/selectNumberCheckByCont", method = RequestMethod.POST)
          @ResponseBody
          public List<ReturnUtils> selectNumberCheckByCont(HttpServletRequest request,
                                                           HttpServletResponse response) throws Exception {

              //統(tǒng)一設置返回數(shù)據(jù)格式
              response.setContentType("application/json");
              response.setHeader("Pragma", "no-cache");
              response.setCharacterEncoding("UTF-8");

              String offset = request.getParameter("offset");
              String limit = request.getParameter("limit");

              List<ReturnUtils> list = iNumberCheckService.selectNumberCheckByCont(offset, limit);

              return list;
          }

      總結(jié)

      到此這篇關于前后端結(jié)合實現(xiàn)amazeUI分頁的文章就介紹到這了,更多相關amazeUI分頁內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持腳本之家!

      來源:腳本之家

      鏈接:https://www.jb51.net/html5/741754.html

      申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!

      相關標簽
      amazeui

      相關文章

      • AmazeUI 網(wǎng)格的實現(xiàn)示例

        這篇文章主要介紹了AmazeUI網(wǎng)格的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

        標簽:
        amazeui
      • AmazeUI 評論列表的實現(xiàn)示例

        這篇文章主要介紹了AmazeUI評論列表的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

        標簽:
        amazeui
      • AmazeUI 圖標的示例代碼

        這篇文章主要介紹了AmazeUI圖標的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

        標簽:
        amazeui
      • AmazeUI 輸入框組的示例代碼

        這篇文章主要介紹了AmazeUI輸入框組的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

        標簽:
        amazeui
      • AmazeUI導航的示例代碼

        這篇文章主要介紹了AmazeUI導航的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

        標簽:
        amazeui

      熱門排行

      信息推薦