自己改造的Jquery版的分页JS

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>分页JS代码</title>
<style type="text/css">
.page{margin:2em;}
.page a{text-decoration:none;display:inline-block;line-height:14px;padding:2px 5px;color:#333;border:1px solid #ccc;margin:0 2px;}
.page a:hover,.page a.on{background:#999;color:#fff;border:1px solid #333;}
.page a.unclick,.page a.unclick:hover{background:none;border:1px solid #eee;color:#999;cursor:default;}
</style>
<script	src="/js/jquery-1.7.1.js" type="text/javascript"></script>
</head>
<body>
<div class="page"></div>
<div class="page" id="div2"></div>
</body>
<script type="text/javascript">
//container 容器,count 总页数 pageindex 当前页数
function setPage(container, count, pageindex) {
var container = container;
var count = count;
var pageindex = pageindex;
var a = [];
  //总页数少于10 全部显示,大于10 显示前3 后3 中间3 其余....
  if (pageindex == 1) {
    a[a.length] = "<a href=\"#\" class=\"prev unclick\">首页</a>";
	a[a.length] = "<a href=\"#\" class=\"prev unclick\"><<</a>";
  } else {
  	a[a.length] = "<a href=\"#\" class=\"prev\">首页</a>";
    a[a.length] = "<a href=\"#\" class=\"prev\"><<</a>";
  }

  //总页数小于10
  if (count <= 10) {
    for (var i = 1; i <= count; i++) {
      setPageList(pageindex,i,a);
    }
  }else {
  	//总页数大于10页
    if (pageindex <= 4) {
      for (var i = 1; i <= 5; i++) {
        setPageList(pageindex,i,a);
      }
      a[a.length] = "...<a href=\"#\">" + count + "</a>";
    }else if (pageindex >= count - 3) {
      a[a.length] = "<a href=\"#\">1</a>...";
      for (var i = count - 4; i <= count; i++) {
        setPageList(pageindex,i,a);
      }
    }
    else { //当前页在中间部分
      a[a.length] = "<a href=\"#\">1</a>...";
      for (var i = pageindex - 2; i <= pageindex + 2; i++) {
        setPageList(pageindex,i,a);
      }
      a[a.length] = "...<a href=\"#\">" + count + "</a>";
    }
  }
  if (pageindex == count) {
    a[a.length] = "<a href=\"#\" class=\"next unclick\">>></a>";
	a[a.length] = "<a href=\"#\" class=\"next unclick\">尾页</a>";
  } else {
    	 a[a.length] = "<a href=\"#\" class=\"next\">>></a>";
	  	 a[a.length] = "<a href=\"#\" class=\"next\">尾页</a>";
  }
  container.html(a.join(""));
  	//事件点击
 	 var oAlink = container.find("a");
     var inx = pageindex; //初始的页码

	 //点击首页
	 $(oAlink[0]).click(function(){
	 	if (inx == 1) {
        return false;
      }else{
	  	setPage(container, count, 1);
	  }
	 });

	//点击上一页
  $(oAlink[1]).click(function(){

      if (inx == 1) {
        return false;
      }
      inx--;
	  setPage(container, count, inx);
      return false;
  });
 	for(var i=2;i<oAlink.length-2;i++){
		$(oAlink[i]).click(function(){
			inx = parseInt($(this).html());
       	 	setPage(container, count, inx);
       		 return false;
		});
	}
	//点击下一页
	$(oAlink[oAlink.length - 2]).click(function(){
		if (inx == count) {
        return false;
      }
	  inx++;
      setPage(container, count, inx);
      return false;
	});

	//点击尾页
	$(oAlink[oAlink.length - 1]).click(function(){
		if(inx == count){
			return false;
		}else{
			setPage(container, count, count);
		}
	});
}

/**
 * 设置分页的初始值
 * @param {Object} pageindex  当前页码
 * @param {Object} i
 * @param {Object} a  存放分页html的数组
 */
  function setPageList(pageindex,i,a) {
    if (pageindex == i) {
      a[a.length] = "<a href=\"#\" class=\"on\">" + i + "</a>";
    } else {
      a[a.length] = "<a href=\"#\">" + i + "</a>";
    }
  }

//	setPage(document.getElementsByTagName("div")[0],10,1);
	setPage($("#div2"),12,5);
</script>
</html>

效果图如下:

时间: 2024-12-28 08:31:16

自己改造的Jquery版的分页JS的相关文章

Magic Grid ComboBox JQuery 版

在MagicCombo组件中嵌入Grid,以支持分页查找和跨页选取 ? 1. ?2. [代码][JavaScript]单选示例代码     <script type="text/javascript" src="/js/mac/pager.js"></script><script type="text/javascript" src="/js/mac/grid.js"></script

基于jquery的ajax分页插件(demo+源码)

前几天打开自己的博客园主页,无意间发现自己的园龄竟然有4年之久了.可是看自己的博客列表却是空空如也,其实之前也有写过,但是一直没发布(然而好像并没有什么卵用).刚开始学习编程时就接触到博客园,且在博客园学习了很多的知识,看过很多人的分享.说来也惭愧,自己没能为园友们分享自己的所学所得(毕竟水平比较差). 过去的一年也是辗转了几个城市换了几份工作(注定本命年不太平?).八月份来到现在所在的公司(OTA行业),公司是做互联网的,所以可能大家的前端都屌屌的?之前一直从事.NET开发(现在在这边也是),

jquery版小型婚礼(可动态添加祝福语)

原文:jquery版小型婚礼(可动态添加祝福语) 前两天在网上不小心看到“js许愿墙”这几个字,我的神经就全部被调动了.然后就开始我的百度生涯,一直寻觅许愿墙背景图片和便利贴图片,觅了好久……一直没找到满意的……无意间看到祝福语和一些卡通婚礼图片.最终我决定用jquery制作一个小型婚礼,并且实现添加祝福语的功能. 音乐响起来,开始我的婚礼进行曲~ 一.婚礼演示图 场景一: 场景二: 场景三: 场景四: 场景五: 场景六: 场景七: 添加祝福语: 二.html代码 <div class="

面向Web Cloud的HTML5 App开发实战:Browser&amp;HTML5&amp;CSS3&amp;PhoneGap&amp;jQuery Mobile&amp; WebSocket&amp;Node.js(2天)

如何理解Android架构设计的初心并开发出搭载Android系统并且具备深度定制和软硬整合能力特色产品,是本课程解决的问题. 课程以Android的五大核心:HAL.Binder.Native Service.Android Service(并以AMS和WMS为例).View System为主轴,一次性彻底掌握Android的精髓. 之所以是开发Android产品的必修课,缘起于: 1,     HAL是Android Framework&Application与底层硬件整合的关键技术和必修技

触屏版轻量级分页插件jqPagination分享

说到HTML5和jquery上的分页问题,优秀的分页插件网上一抓一大把,然而同时适合兼容在Ipad和手机端的网站分页却不是特别多. 或许有人会说,触屏现在流行下拉底部后加载下一页内容,类似微博和QQ空间那种模式,分页过时了.或许,阅读到底部后顺手点一下"下一页"和无需操作自动加载内容继续阅读,这小小的一点会给用户带来很不同的微妙感受. 可以肯定的是,当要展示数据量较大时,一定会用到分页的.一是给用户内容多少的预期,二是可以给浏览者提供一个停顿.如果用户看一篇文章已经翻了十几屏,滚动条还

jQuery版感应鼠标显示隐藏的菜单

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>jQuery版感应鼠标显示隐藏的菜单丨天津

jquery+NHibernate的分页效果

目录结构 先设计数据表结构 DROP SEQUENCE BDLLY_2V.SEQ_CUSTOMER; CREATE SEQUENCE BDLLY_2V.SEQ_CUSTOMER START WITH 6 MAXVALUE 999999999999999999999999999 MINVALUE 0 NOCYCLE NOCACHE NOORDER; DROP TABLE BDLLY_2V.CUSTOMER CASCADE CONSTRAINTS; CREATE TABLE Customer ( C

瀑布流代码,简洁版 带分页

接上一篇   瀑布流代码,简洁版 的功能之上添加分页的功能 Index.cshtml @using PagedList.Mvc @model PagedList.StaticPagedList<int> @{ ViewBag.Title = "瀑布流"; Layout = "~/Views/Shared/_Layout.cshtml"; } @section header{ <script src="~/Scripts/jquery-ui

jQuery、Ajax分页

1.效果图预览 2.HTML代码 <div class="row"> <div class="col-lg-12 col-sm-12 col-xs-12 col-xxs-12"> <table class="table table-striped table-hover table-bordered bootstrap-datatable " id="TemplateTable"> <