最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

jquery分页优化操作实例分析

来源:动视网 责编:小采 时间:2020-11-27 21:52:05
文档

jquery分页优化操作实例分析

jquery分页优化操作实例分析:本文实例讲述了jquery分页优化操作。分享给大家供大家参考,具体如下: 前言 上次写了博客 jquery分页显示,文章的jquery分页方式虽然可以通过js实现分页,但是也存在明显的弊端。 该篇文章的思路是,每次通过ajax请求获取到记录,然后通过判断当前页面,显示
推荐度:
导读jquery分页优化操作实例分析:本文实例讲述了jquery分页优化操作。分享给大家供大家参考,具体如下: 前言 上次写了博客 jquery分页显示,文章的jquery分页方式虽然可以通过js实现分页,但是也存在明显的弊端。 该篇文章的思路是,每次通过ajax请求获取到记录,然后通过判断当前页面,显示


本文实例讲述了jquery分页优化操作。分享给大家供大家参考,具体如下:

前言

上次写了博客 jquery分页显示,文章的jquery分页方式虽然可以通过js实现分页,但是也存在明显的弊端。

该篇文章的思路是,每次通过ajax请求获取到记录,然后通过判断当前页面,显示或者隐藏记录,以实现分页效果。但是这种方式,每次切换分页都需要从新请求一次记录,频繁的查询数据库。

下面提供一种,只需要加载一次(查询一次数据库)就能实现分页的思路。我们加载记录之后,生成所有的分页并隐藏,然后默认显示第一页。切换分页通过,分页div的显示和隐藏来实现。

创建数据库语句

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; //每页显示1记录
 $.ajax({
 type:"GET",
 url:"http://localhost/test.php",
 dataType:"json",
 success:function(data){
 var totalPage = data.length; //获取总的记录数
 var pageNum = Math.ceil(totalPage/avgNum); //计算得到页数
 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 += '<<  ';
 }else{
 content += '<a href="javascript:showPage('+(i-1)+')" rel="external nofollow" rel="external nofollow" ><<</a>  ';
 }
 //后一页
 if(i == pageNum){
 content += '>>  ';
 }else{
 content += '<a href="javascript:showPage('+(i+1)+')" rel="external nofollow" rel="external nofollow" >>></a>  ';
 }
 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; //每页显示1记录
 $.ajax({
 type:"GET",
 url:"http://localhost/test.php",
 dataType:"json",
 success:function(data){
 var totalPage = data.length; //获取总的记录数
 var pageNum = Math.ceil(totalPage/avgNum); //计算得到页数
 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 += '<<  ';
 }else{
 content += '<a href="javascript:showPage('+(i-1)+')" rel="external nofollow" rel="external nofollow" ><<</a>  ';
 }
 //显示所有的页码
 for(var p=1;p<=pageNum;p++){
 content += '<a href="javascript:showPage('+p+')" rel="external nofollow" class="p'+p+'">'+p+'</a>  ';
 }
 //后一页
 if(i == pageNum){
 content += '>>  ';
 }else{
 content += '<a href="javascript:showPage('+(i+1)+')" rel="external nofollow" rel="external nofollow" >>></a>  ';
 }
 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相关内容感兴趣的读者可查看本站专题:《jQuery扩展技巧总结》、《jQuery表格(table)操作技巧汇总》、《jQuery常见经典特效汇总》、《jquery选择器用法总结》及《jQuery常用插件及用法总结》

希望本文所述对大家jQuery程序设计有所帮助。

文档

jquery分页优化操作实例分析

jquery分页优化操作实例分析:本文实例讲述了jquery分页优化操作。分享给大家供大家参考,具体如下: 前言 上次写了博客 jquery分页显示,文章的jquery分页方式虽然可以通过js实现分页,但是也存在明显的弊端。 该篇文章的思路是,每次通过ajax请求获取到记录,然后通过判断当前页面,显示
推荐度:
标签: 案例 实例 分析
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top