`

bootstrap 分页

阅读更多

1.自定义 bootstrap 分页功能,一个简单的js实现,自己写的,分享一下,喜欢的请点赞哈!

2.下面附上 demo 下载,有问题给我留言

 

demo中有点小问题,请复制以下代码测试一下

 


 

/*
 * 
 ........ demo .........
 $('.page').pagelist({
		size:10,
		count:1000,
		items:15,
		currpage:1,
		click:null}
	);
 * */
jQuery.fn.extend({
	pagelist:function(ps,param){
		var $this = this;
		this.ps = ps;
		this.element = $(this);
		if($this.element.length==0){
			 console.debug('element is not found ....');
			 return;
		}
		
		var data = this.data('params');
		if(data==undefined||data==null){
			var pageparams = {
					size:0,
					count:0,
					items:5,
					currpage:1,
					pagecount:0,
					click:null
			};
			$this.pageparams = $this.data('params',pageparams);
		}
		this.pageparams = this.data('params');
		if(typeof ps == 'string'){
			$this.ps = param;
		}
		if($this.ps!=null&&$this.ps!==undefined){
			$.each($this.ps,function(k,v){
				if(v!=''&&v!=null){
					$this.pageparams[k] = v;
				}
			});
		}
		$.each($this.pageparams,function(k,v){
			  if(k=='click'&&v!=null&&v!=undefined&&typeof v !='function'){
				  console.debug('click require  a funciton ....');
			  }else if(k!='click'&&isNaN(v)&&v!=''){
				  console.debug( k + '  error...............')
			  }else if(typeof v == 'string'){
				  $this.pageparams[k] = parseInt(v);
			  }
		});
		this.bind = function(){
			$this.find('.first').click(function(e){
				e.preventDefault();
				$(this).removeClass('active');
				pageparams.currpage = 1;
				$this.change(pageparams);
			});
			
			$this.find('.last').click(function(e){
				e.preventDefault();
				$(this).removeClass('active');
				pageparams.currpage = pageparams.pagecount;
				$this.change(pageparams);
			});
			$this.find('.next').click(function(e){
				e.preventDefault();
				if(pageparams.currpage>=pageparams.pagecount){
					return;
				}
				pageparams.currpage = pageparams.currpage+1;
				$this.change(pageparams);
			});
			
			$this.find('.prev').click(function(e){
				e.preventDefault();
				if(pageparams.currpage<=1){
					return;
				}
				pageparams.currpage = pageparams.currpage-1;
				$this.change(pageparams);
			});
			return $this;
		};
		
		this.apppend = function (begin,end,pageparams){
			$this.element.find('.active').removeClass('active');
			for(var i = begin;i<=end;i++){
				var pageli = $('<li>');
				pageli.append('<a href="javascript:void(0)">'+i+'</a>');
				$this.element.find('.next').before(pageli);
				if(i==pageparams.currpage){
					pageli.addClass('active');
					continue;
				}
				pageli.on('click',function(e){
					e.preventDefault();
					var val = $(this).find('a').text();
					if(isNaN(val)==false&&val!=''){
						val = parseInt(val);
					}
					if(pageparams.click!=null){
						pageparams.click($(this),val);
					}
					pageparams.currpage = val;
					$this.change(pageparams);
				});
			}
			return $this;
		}
		
		this.change = function (){
			var pageparams = $this.data('params');
			$this.find('.active').removeClass('active');
			var pageCount = parseInt((pageparams.count  +  pageparams.size  - 1) /  pageparams.size); 
			pageparams.pagecount = pageCount;
			$this.find('.next,.prev,.first,.last').removeClass('disabled').show();
			if(pageparams.currpage==1||isNaN(pageCount)||pageCount==0){
				$this.find('.first,.prev').addClass('disabled');
			}
			if(pageparams.currpage==pageparams.pagecount||isNaN(pageCount)||pageCount==0){
				$this.find('.last,.next').addClass('disabled');
			}
			$this.find('li:not(".next,.prev,.first,.last")').remove();
			if(pageparams.pagecount<=0||isNaN(pageCount)){
				return;
			}
			pageparams.currpage = parseInt(pageparams.currpage);
			if(pageparams.currpage<=0){
				pageparams.currpage=1;
			}
			var temp = parseInt(pageparams.currpage-pageparams.items/2)
			var count = pageCount-pageparams.currpage;
			
//			var begin = p.currpage-(p.items%2==0?p.items/2:p.items/2+1);
//			var end = p.currpage+(p.items%2==0?p.items/2:p.items/2+1);
			var begin = parseInt(pageparams.currpage-(pageparams.items/2));
			var end = parseInt(pageparams.currpage+(pageparams.items/2));
			if(begin<=0){
				end = end-begin+1;
				begin = 1;
			}
			if(end>=pageparams.pagecount){
				begin -= end - pageparams.pagecount;
				end = pageparams.pagecount;
			}
			if(end<pageparams.pagecount){
				end = end - 1;
			}
			$this.apppend(begin, end, pageparams)
			return $this;
		}
		if(typeof ps == 'string'){
			eval(('$this.'+ps+'()'));
		}else{
			if($this.element.find('.pagination').length==0){
			  	var pagestr = '<nav><ul class="pagination"><li class="first"><a href="javascript:void(0)">首页</a></li><li class="prev"><a href="javascript:void(0)" fui-arrow-left">上一页</a></li><li class="next"><a href="javascript:void(0)" class="fui-arrow-right">下一页</a></li><li class="last"><a href="javascript:void(0)">尾页</a></li></ul></nav>';
			  	$this.append(pagestr);
			  	$this.find('.next,.prev,.first,.last').unbind('click');
			  	$this.bind();
			}
			$this.change();
		}
		return $this;
	}
});
 
 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
 <meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>page list</title>
<link href="css/bootstrap.min.css" rel="stylesheet">
<script src="js/jquery.min.js"></script>
<script src="js/page.js"></script>

</head>
<body>
<div class="page"></div>
<div class="page1"></div>
</body>
<script type="text/javascript">
$(function(){
    $('.page1').pagelist(
        {
            size:10,
            count:1000,
            items:10,
            currpage:1,
            click:function(page,pageNo){
                console.debug('pageNo = ' + pageNo);
            }
        }
    )
    
    $('.page').pagelist({
        size:10,
        count:1000,
        items:15,
        currpage:1,
        click:null}
    );
    setTimeout(function(){
        $('.page').pagelist({items:8});
    },2000)
})
</script>
</html>

 
 
  • 大小: 7.5 KB
分享到:
评论

相关推荐

    bootstrap分页插件.zip

    Bootstrap分页插件是前端开发中常用的一种工具,它基于Twitter Bootstrap框架,为网页提供美观且功能丰富的分页导航。这个压缩包文件“bootstrap分页插件.zip”包含了一个名为“317482454-tm.pagination-195db9b”的...

    两款漂亮的bootstrap分页样式

    在本主题中,我们聚焦于"两款漂亮的bootstrap分页样式",这涉及到CSS3技术在Bootstrap分页组件上的应用。 Bootstrap的分页组件(Pagination)是一个基本的导航元素,用于分隔大量的内容或结果,让用户能够分步骤...

    bootstrap分页插件

    Bootstrap分页插件是一种基于流行的前端框架Bootstrap设计的页面导航工具,主要用于在大量数据或内容中实现分块显示,提供用户友好的翻页体验。在Web应用中,当需要展示的数据超过一个页面所能容纳的范围时,分页就...

    jQuery基于Bootstrap分页插件.zip

    jQuery基于Bootstrap分页插件是一款分页插件设置固定列表分页显示,支持动态分页数据代码。  jQuery(document).ready(function($){ for (var i = 1; i ; i ) {  $('.list-group').append('...

    两款bootstrap分页样式美化特效

    在这个主题中,我们将深入探讨两款Bootstrap分页样式的美化特效。 首先,我们来理解Bootstrap分页的基本概念。Bootstrap的分页组件是一种用于导航长内容的方式,用户可以通过点击页码来浏览页面。默认的Bootstrap...

    Bootstrap分页条页码过多隐藏部分页码

    当从数据库查出数据过多时,分页条页码太多,将多余部分进行隐藏,永远只显示固定数量的页码

    Bootstrap分页类

    Bootstrap分页类是基于流行的前端开发框架Bootstrap设计的一种页面导航组件,主要用于在大量数据或内容分页展示时提供用户友好的交互体验。Bootstrap框架以其简洁、直观和响应式的设计理念,使得Bootstrap分页类成为...

    四种jQuery+bootstrap分页效果插件.rar

    这个"四种jQuery+bootstrap分页效果插件.rar"压缩包文件包含了四个不同的jQuery和Bootstrap分页插件,每个都有其独特的特性和应用场景。 首先,我们来了解一下jQuery。jQuery是一个轻量级、高性能的JavaScript库,...

    Bootstrap分页插件和seajs分页插件 分页器

    Bootstrap分页插件和SeaJS分页插件是两种用于前端网页实现动态分页效果的工具,它们在网页开发中有着广泛的应用。分页是网页数据量过大时,为了提高用户体验,将大量信息分段展示的重要手段。接下来,我们将详细讨论...

    jQuery Bootstrap分页插件.zip

    《jQuery Bootstrap分页插件深度解析》 在Web开发领域,高效、美观的分页功能是必不可少的,尤其是在处理大量数据时。jQuery Bootstrap分页插件便是为了解决这一问题而生,它结合了jQuery的强大功能和Bootstrap的...

    Bootstrap分页组件的设计

    Bootstrap 分页组件的设计 Bootstrap 分页组件的设计是基于 Bootstrap 前端开发框架,简单设计了前端分页控件。该组件提供了一个基本的分页控件,能够满足大多数情况下的分页需求。 分页组件的结构 分页组件的...

    Spring Boot+Mybatis-Plus+Thymeleaf+Bootstrap分页页查询(前后端都有).zip

    在本项目中,我们结合了Spring Boot、Mybatis-Plus、Thymeleaf以及Bootstrap来实现一个具有分页查询功能的Web应用。首先,让我们详细探讨每个技术在项目中的作用和实现方式。 **Spring Boot** Spring Boot是Spring...

    【ASP.NET编程知识】ASP.NET GridView的Bootstrap分页样式.docx

    ASP.NET GridView 的 Bootstrap 分页样式 本文将详细介绍 ASP.NET GridView 的 Bootstrap 分页样式,包括Revenue.cs 收入类的实现、Default.aspx 内容的设计和GridView 的 Bootstrap 分页样式的实现。 Revenue.cs ...

    bootstrap分页效果实现

    在这个“bootstrap分页效果实现”的主题中,我们将深入探讨如何利用Bootstrap来创建功能强大的分页功能。 首先,Bootstrap的分页组件是通过其内置的CSS类和HTML结构来实现的。分页的主要目的是在大量数据或内容中...

    Django结合Bootstrap完美实现分页效果

    **二、Bootstrap分页组件** Bootstrap的分页组件提供了一套美观的UI,用于展示和导航分页。它包括了不同状态的链接(如活动、禁用)和箭头图标,使得用户能够轻松地浏览多页内容。在HTML模板中,我们可以使用...

    Bootstrap分页

    * 自定义标签实现分页 * * @param request * @param response * @param @ResponseBody ajax响应 * @param method={RequestMethod.POST,RequestMethod.GET}表单请求 * @param consumes="application/...

    bootstrap分页组件 bootstrap-paginator-master

    Bootstrap分页组件是Web开发中常见的一种功能,用于在大量数据中进行页面切换,提高用户体验。Bootstrap-Paginator是一个专门针对Bootstrap框架设计的轻量级分页插件,它能够帮助开发者快速、便捷地在网页应用中实现...

Global site tag (gtag.js) - Google Analytics