search
HomeWeb Front-endJS TutorialHow to implement paging function with jquery+ajax

This time I will show you how to implement the paging function in jquery ajax. What are the precautions for jquery ajax to implement the paging function. The following is a practical case, let’s take a look.

HTML

<p> 
 </p>
       

    CSS

     #list{width:680px; height:530px; margin:2px auto; position:relative} 
    #list ul li{float:left;width:220px; height:260px; margin:2px} 
    #list ul li img{width:220px; height:220px} 
    #list ul li p{line-height:22px} 
    #pagecount{width:500px; margin:10px auto; text-align:center} 
    #pagecount span{margin:4px; font-size:14px} 
    #list ul li#loading{width:120px; height:32px; border:1px solid #d3d3d3; 
    position:absolute; top:35%; left:42%; text-align:center; background:#f7f7f7 
    url(loading.gif) no-repeat 8px 8px;-moz-box-shadow:1px 1px 2px rgba(0,0,0,.2); 
    -webkit-box-shadow:1px 1px 2px rgba(0,0,0,.2); box-shadow:1px 1px 2px rgba(0,0,0,.2);}

    jQuery

    We declare the variables first, and the following variables will be used in the subsequent code.

    var curPage = 1; //当前页码 
    var total,pageSize,totalPage; //总记录数,每页显示数,总页数

    Next, we define a function : getData() to obtain the current page data. In the function, we use $.ajax() to send a POST asynchronous request to the background pages.php, and pass the current page number to the background in JSON format.

    //获取数据 
    function getData(page){ 
     $.ajax({ 
     type: 'POST', 
     url: 'pages.php', 
     data: {'pageNum':page-1}, 
     dataType:'json', 
     beforeSend:function(){ 
     $("#list ul").append("
  • loading...
  • ");//显示加载动画   },   success:function(json){   $("#list ul").empty();//清空数据区   total = json.total; //总记录数   pageSize = json.pageSize; //每页显示条数   curPage = page; //当前页   totalPage = json.totalPage; //总页数   var li = "";   var list = json.list;   $.each(list,function(index,array){ //遍历json数据列   li += "
  • How to implement paging function with jquery+ajax"+array['title']   +"
  • ";   });   $("#list ul").append(li);   },   complete:function(){ //生成分页条   getPageBar();                        当点击分页条中的分页链接时,调用getData(page)加载对应页码的数据。               $("#pagecount span a").on('click',function(){          var rel = $(this).attr("rel");         if(rel){        getData(rel);         }            });     },   error:function(){   alert("数据加载失败");   }   });  }

    After the request is successful, the data will be returned, the corresponding data will be attached to the variable, and the returned product data list will be displayed in a loop to the corresponding container #list ul. When the data is completely loaded, call the paging bar function getPageBar() to generate a paging bar.

    //获取分页条 
    function getPageBar(){ 
     //页码大于最大页数 
     if(curPage>totalPage) curPage=totalPage; 
     //页码小于1 
     if(curPage共"+total+"条<span>"+curPage 
     +"/"+totalPage+"</span>"; 
     
     //如果是第一页 
     if(curPage==1){ 
     pageStr += "<span>首页</span><span>上一页</span>"; 
     }else{ 
     pageStr += "<span><a>首页</a></span> 
     <span><a>上一页</a></span>"; 
     } 
     
     //如果是最后页 
     if(curPage>=totalPage){ 
     pageStr += "<span>下一页</span><span>尾页</span>"; 
     }else{ 
     pageStr += "<span><a> 
     下一页</a></span><span><a>尾页</a> 
     </span>"; 
     } 
     
     $("#pagecount").html(pageStr); 
    }

    Finally, when the page is loaded for the first time, we load the first page of data, which is getData(1),

    $(function(){ 
     getData(1); 
     
    });

    PHP

    pages .php receives each ajax request for the front-end page, obtains data from mysql database based on the submitted page number pageNum value, calculates the total number of records and total number of pages, reads the data list under the corresponding page number, and Return the final result to the front-end page in JSON format.

    include_once('connect.php'); //连接数据库,略过,具体请下载源码查看 
    $page = intval($_POST['pageNum']); //当前页 
     
    $result = mysql_query("select id from food"); 
    $total = mysql_num_rows($result);//总记录数 
    $pageSize = 6; //每页显示数 
    $totalPage = ceil($total/$pageSize); //总页数 
     
    $startPage = $page*$pageSize; //开始记录 
    //构造数组 
    $arr['total'] = $total; 
    $arr['pageSize'] = $pageSize; 
    $arr['totalPage'] = $totalPage; 
    $query = mysql_query("select id,title,pic from food order by id asc limit 
    $startPage,$pageSize"); //查询分页数据 
    while($row=mysql_fetch_array($query)){ 
     $arr['list'][] = array( 
     'id' => $row['id'], 
     'title' => $row['title'], 
     'pic' => $row['pic'], 
     ); 
    } 
    echo json_encode($arr); //输出JSON数据

    Finally, attach the Mysql table structure

    CREATE TABLE IF NOT EXISTS `food` ( 
     `id` int(11) NOT NULL AUTO_INCREMENT, 
     `title` varchar(100) NOT NULL, 
     `pic` varchar(255) NOT NULL, 
     PRIMARY KEY (`id`) 
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

    Wonderful topic sharing:jquery paging function operation JavaScript paging function operation

    I believe I have read the case in this article You have mastered the method. For more exciting information, please pay attention to other related articles on the php Chinese website!

    Recommended reading:

    Detailed explanation of jQuery's operation of html element click events

    text() val() and html in jQuery What are the differences in the use of ()

    The above is the detailed content of How to implement paging function with jquery+ajax. For more information, please follow other related articles on the PHP Chinese website!

    Statement
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Java vs JavaScript: A Detailed Comparison for DevelopersJava vs JavaScript: A Detailed Comparison for DevelopersMay 16, 2025 am 12:01 AM

    JavaandJavaScriptaredistinctlanguages:Javaisusedforenterpriseandmobileapps,whileJavaScriptisforinteractivewebpages.1)Javaiscompiled,staticallytyped,andrunsonJVM.2)JavaScriptisinterpreted,dynamicallytyped,andrunsinbrowsersorNode.js.3)JavausesOOPwithcl

    Javascript Data Types : Is there any difference between Browser and NodeJs?Javascript Data Types : Is there any difference between Browser and NodeJs?May 14, 2025 am 12:15 AM

    JavaScript core data types are consistent in browsers and Node.js, but are handled differently from the extra types. 1) The global object is window in the browser and global in Node.js. 2) Node.js' unique Buffer object, used to process binary data. 3) There are also differences in performance and time processing, and the code needs to be adjusted according to the environment.

    JavaScript Comments: A Guide to Using // and /* */JavaScript Comments: A Guide to Using // and /* */May 13, 2025 pm 03:49 PM

    JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

    Python vs. JavaScript: A Comparative Analysis for DevelopersPython vs. JavaScript: A Comparative Analysis for DevelopersMay 09, 2025 am 12:22 AM

    The main difference between Python and JavaScript is the type system and application scenarios. 1. Python uses dynamic types, suitable for scientific computing and data analysis. 2. JavaScript adopts weak types and is widely used in front-end and full-stack development. The two have their own advantages in asynchronous programming and performance optimization, and should be decided according to project requirements when choosing.

    Python vs. JavaScript: Choosing the Right Tool for the JobPython vs. JavaScript: Choosing the Right Tool for the JobMay 08, 2025 am 12:10 AM

    Whether to choose Python or JavaScript depends on the project type: 1) Choose Python for data science and automation tasks; 2) Choose JavaScript for front-end and full-stack development. Python is favored for its powerful library in data processing and automation, while JavaScript is indispensable for its advantages in web interaction and full-stack development.

    Python and JavaScript: Understanding the Strengths of EachPython and JavaScript: Understanding the Strengths of EachMay 06, 2025 am 12:15 AM

    Python and JavaScript each have their own advantages, and the choice depends on project needs and personal preferences. 1. Python is easy to learn, with concise syntax, suitable for data science and back-end development, but has a slow execution speed. 2. JavaScript is everywhere in front-end development and has strong asynchronous programming capabilities. Node.js makes it suitable for full-stack development, but the syntax may be complex and error-prone.

    JavaScript's Core: Is It Built on C or C  ?JavaScript's Core: Is It Built on C or C ?May 05, 2025 am 12:07 AM

    JavaScriptisnotbuiltonCorC ;it'saninterpretedlanguagethatrunsonenginesoftenwritteninC .1)JavaScriptwasdesignedasalightweight,interpretedlanguageforwebbrowsers.2)EnginesevolvedfromsimpleinterpreterstoJITcompilers,typicallyinC ,improvingperformance.

    JavaScript Applications: From Front-End to Back-EndJavaScript Applications: From Front-End to Back-EndMay 04, 2025 am 12:12 AM

    JavaScript can be used for front-end and back-end development. The front-end enhances the user experience through DOM operations, and the back-end handles server tasks through Node.js. 1. Front-end example: Change the content of the web page text. 2. Backend example: Create a Node.js server.

    See all articles

    Hot AI Tools

    Undresser.AI Undress

    Undresser.AI Undress

    AI-powered app for creating realistic nude photos

    AI Clothes Remover

    AI Clothes Remover

    Online AI tool for removing clothes from photos.

    Undress AI Tool

    Undress AI Tool

    Undress images for free

    Clothoff.io

    Clothoff.io

    AI clothes remover

    Video Face Swap

    Video Face Swap

    Swap faces in any video effortlessly with our completely free AI face swap tool!

    Hot Tools

    Zend Studio 13.0.1

    Zend Studio 13.0.1

    Powerful PHP integrated development environment

    WebStorm Mac version

    WebStorm Mac version

    Useful JavaScript development tools

    SublimeText3 English version

    SublimeText3 English version

    Recommended: Win version, supports code prompts!

    SublimeText3 Chinese version

    SublimeText3 Chinese version

    Chinese version, very easy to use

    PhpStorm Mac version

    PhpStorm Mac version

    The latest (2018.2.1) professional PHP integrated development tool