亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

jquery分頁優(yōu)化操作實例分析

 更新時間:2019年08月23日 10:07:23   作者:koastal  
這篇文章主要介紹了jquery分頁優(yōu)化操作,在前文jQuery分頁顯示的基礎上實現(xiàn)了避免頻繁查詢的相關優(yōu)化操作技巧,需要的朋友可以參考下

本文實例講述了jquery分頁優(yōu)化操作。分享給大家供大家參考,具體如下:

前言

上次寫了博客 jquery分頁顯示,文章的jquery分頁方式雖然可以通過js實現(xiàn)分頁,但是也存在明顯的弊端。

該篇文章的思路是,每次通過ajax請求獲取到記錄,然后通過判斷當前頁面,顯示或者隱藏記錄,以實現(xiàn)分頁效果。但是這種方式,每次切換分頁都需要從新請求一次記錄,頻繁的查詢數(shù)據(jù)庫。

下面提供一種,只需要加載一次(查詢一次數(shù)據(jù)庫)就能實現(xiàn)分頁的思路。我們加載記錄之后,生成所有的分頁并隱藏,然后默認顯示第一頁。切換分頁通過,分頁div的顯示和隱藏來實現(xiàn)。

創(chuàng)建數(shù)據(jù)庫語句

CREATE TABLE `news` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `title` varchar(255) NOT NULL,
 `time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=201 DEFAULT CHARSET=utf8

記錄查詢頁面

test.php

<?php
header("Content-Type:text/html;Charset=utf-8");
$mysqli = new mysqli("localhost","root","","test");
$mysqli->set_charset("utf8");
$query = $mysqli->query("SELECT * FROM news");
$res = $query->fetch_all(MYSQLI_ASSOC);
echo json_encode($res);

分頁顯示頁面

index.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style type="text/css">
    .page{
      width: 1000px;
      margin-left: auto;
      margin-right: auto;
      text-align:center;
      display:none;
    }
  </style>
</head>
<body>
  <div id="listTag">
  </div>
</body>
<script type="text/javascript" src="http://localhost/jquery/jquery.js"></script>
<script type="text/javascript">
  $(function(){
    var avgNum = 18; //每頁顯示18條記錄
    $.ajax({
      type:"GET",
      url:"http://localhost/test.php",
      dataType:"json",
      success:function(data){
        var totalPage = data.length;  //獲取總的記錄數(shù)
        var pageNum = Math.ceil(totalPage/avgNum); //計算得到頁數(shù)
        var content = '';
        for(var i=1;i<=pageNum;i++){
          content += '<div id="page'+i+'" class="page"><ul>';
          for(var j=((i-1)*avgNum);j<(i*avgNum)&&j<totalPage;j++){
            content += '<li>'+data[j].title+'</li>';
          }
          content += '</ul>';
          content += '<hr/><div>';
          //前一頁
          if(i == 1){
            content += '<<&nbsp;&nbsp';
          }else{
            content += '<a href="javascript:showPage('+(i-1)+')" rel="external nofollow" rel="external nofollow" ><<</a>&nbsp;&nbsp';
          }
          //后一頁
          if(i == pageNum){
            content += '>>&nbsp;&nbsp';
          }else{
            content += '<a href="javascript:showPage('+(i+1)+')" rel="external nofollow" rel="external nofollow" >>></a>&nbsp;&nbsp';
          }
          content += '</div></div>';
        }
        //生成所有的div,并隱藏
        $("#listTag").append(content);
        showPage(1);
      }
    });
  });
  function showPage(num){
    $("#page"+num).show();
    $("#page"+num).siblings().hide();
  }
</script>
</html>

分頁效果:

這里寫圖片描述

分頁樣式二

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style type="text/css">
    .page{
      width: 1000px;
      margin-left: auto;
      margin-right: auto;
      text-align:center;
      display:none;
    }
    .active{
      color:red;
    }
  </style>
</head>
<body>
  <div id="listTag">
  </div>
</body>
<script type="text/javascript" src="http://localhost/jquery/jquery.js"></script>
<script type="text/javascript">
  $(function(){
    var avgNum = 18; //每頁顯示18條記錄
    $.ajax({
      type:"GET",
      url:"http://localhost/test.php",
      dataType:"json",
      success:function(data){
        var totalPage = data.length;  //獲取總的記錄數(shù)
        var pageNum = Math.ceil(totalPage/avgNum); //計算得到頁數(shù)
        var content = '';
        for(var i=1;i<=pageNum;i++){
          content += '<div id="page'+i+'" class="page"><ul>';
          for(var j=((i-1)*avgNum);j<(i*avgNum)&&j<totalPage;j++){
            content += '<li>'+data[j].title+'</li>';
          }
          content += '</ul>';
          content += '<hr/><div>';
          //前一頁
          if(i == 1){
            content += '<<&nbsp;&nbsp';
          }else{
            content += '<a href="javascript:showPage('+(i-1)+')" rel="external nofollow" rel="external nofollow" ><<</a>&nbsp;&nbsp';
          }
          //顯示所有的頁碼
          for(var p=1;p<=pageNum;p++){
            content += '<a href="javascript:showPage('+p+')" rel="external nofollow" class="p'+p+'">'+p+'</a>&nbsp;&nbsp';
          }
          //后一頁
          if(i == pageNum){
            content += '>>&nbsp;&nbsp';
          }else{
            content += '<a href="javascript:showPage('+(i+1)+')" rel="external nofollow" rel="external nofollow" >>></a>&nbsp;&nbsp';
          }
          content += '</div></div>';
        }
        //生成所有的div,并隱藏
        $("#listTag").append(content);
        showPage(1);
      }
    });
  });
  function showPage(num){
    $("#page"+num).show();
    $("#page"+num).siblings().hide();
    $(".p"+num).addClass("active");
    $(".p"+num).siblings().removeClass("active");
  }
</script>
</html>

顯示效果

這里寫圖片描述

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

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

相關文章

最新評論