js文件代码:

(function($){





$.fn.Pages = function(options){



var opts = $.extend({},$.fn.Pages.defaults, options);



return this.each(function(){

 

var $this = $(this);

var $PagesClass = opts.PagesClass; // 分页元素

var $AllMth = $this.find($PagesClass).length;  //总个数

var $Mth = opts.PagesMth; //每页显示个数

var $NavMth = opts.PagesNavMth; // 导航显示个数





// 定义分页导航

var PagesNavHtml = "<div class=\"Pagination\"><a href=\"javascript:;\" class=\"homePage\">首页</a><a href=\"javascript:;\" class=\"PagePrev\">上一页</a><span class=\"Ellipsis\"><b>...</b></span><div class=\"pagesnum\"></div><span
class=\"Ellipsis\"><b>...</b></span><a href=\"javascript:;\" class=\"PageNext\">下一页</a><a href=\"javascript:;\" class=\"lastPage\">尾页</a><cite class=\"FormNum\">直接到第<input type=\"text\" name=\"PageNum\" id=\"PageNum\">页</cite><a href=\"javascript:;\" class=\"PageNumOK\">确定</a></div>";





/*默认初始化显示*/



if($AllMth > $Mth){



//判断显示

var relMth = $Mth - 1;

$this.find($PagesClass).filter(":gt("+relMth+")").hide();





// 计算数量,页数

var PagesMth = Math.ceil($AllMth / $Mth); // 计算页数

var PagesMthTxt = "<span>共<b>"+$AllMth+"</b>条,共<b>"+PagesMth+"</b>页</span>";

$this.append(PagesNavHtml).find(".Pagination").append(PagesMthTxt);





// 计算分页导航显示数量



var PagesNavNum = "";

for(var i=1;i<=PagesMth;i++){



PagesNavNum = PagesNavNum + "<a href=\"javascript:;\">"+i+"</a>";



};



$this.find(".pagesnum").append(PagesNavNum).find("a:first").addClass("PageCur");







//判断是否显示省略号

if($NavMth < PagesMth){



$this.find("span.Ellipsis:last").show();

var relNavMth = $NavMth - 1;

$this.find(".pagesnum a").filter(":gt("+relNavMth+")").hide();



}else{



$this.find("span.Ellipsis:last").hide();

};





/*默认显示已完成,下面是控制区域代码*/





//跳转页面

var $input = $this.find(".Pagination #PageNum");

var $submit = $this.find(".Pagination .PageNumOK");



//跳转页面文本框

$input.keyup(function(){



var pattern_d = /^\d+$/; //全数字正则



if(!pattern_d.exec($input.val())) {   

                 

alert("友情提示:\n\n请填写正确的数字!");

$input.focus().val("");

return false



                };



});



//跳转页面确定按钮

$submit.click(function(){



if($input.val() == ""){



alert("友情提示:\n\n请填写您要跳转到第几页!");

$input.focus().val("");

return false



}if($input.val() > PagesMth){



alert("友情提示:\n\n您跳转的页面不存在!");

$input.focus().val("");

return false



}else{



showPages($input.val());



};



});





//导航控制分页

var $PagesNav = $this.find(".pagesnum a"); //导航指向

var $PagesFrist = $this.find(".homePage"); //首页

var $PagesLast = $this.find(".lastPage"); //尾页

var $PagesPrev = $this.find(".PagePrev"); //上一页

var $PagesNext = $this.find(".PageNext"); //下一页



//导航指向

$PagesNav.click(function(){



var NavTxt = $(this).text();

showPages(NavTxt);



});



//首页

$PagesFrist.click(function(){



showPages(1);



});



//尾页

$PagesLast.click(function(){



showPages(PagesMth);



});



//上一页

$PagesPrev.click(function(){



var OldNav = $this.find(".pagesnum a[class=PageCur]");





if(OldNav.text() == 1){alert("友情提示:\n\n不要再点啦~已经是首页啦!");}else{



var NavTxt = parseInt(OldNav.text()) - 1;

showPages(NavTxt);



};



});



//下一页

$PagesNext.click(function(){



var OldNav = $this.find(".pagesnum a[class=PageCur]");



if(OldNav.text() == PagesMth){alert("友情提示:\n\n不要再点啦~已经是最后一页啦!");}else{



var NavTxt = parseInt(OldNav.text()) + 1;

showPages(NavTxt);



};



});



// 主体显示隐藏分页函数

function showPages(page){





$PagesNav.each(function(){



var NavText = $(this).text();



if(NavText == page){



$(this).addClass("PageCur").siblings().removeClass("PageCur");



};

});



//显示导航样式

var AllMth = PagesMth / $NavMth;

for(var i=1;i<=AllMth;i++){



if(page > (i*$NavMth)){



$PagesNav.filter(":gt("+(i*$NavMth-1)+")").show();

$PagesNav.filter(":gt("+(i*$NavMth-1+$NavMth)+")").hide();

$PagesNav.filter(":lt("+(i*$NavMth)+")").hide();



$this.find("span.Ellipsis:first").show();



};



if(page <= $NavMth){



$PagesNav.filter(":gt("+($NavMth-1)+")").hide();

$PagesNav.filter(":lt("+$NavMth+")").show();



$this.find("span.Ellipsis:first").hide();



};





};





// 显示内容区域

var LeftPage = $Mth * (page-1);

var NowPage = $Mth * page;



$this.find($PagesClass).hide();

$this.find($PagesClass).filter(":lt("+(NowPage)+")").show();

$this.find($PagesClass).filter(":lt("+(LeftPage)+")").hide();



};





}; //判断结束




}); //主体代码

};



// 默认参数

$.fn.Pages.defaults = {



PagesClass:'.item', //需要分页的元素

PagesMth:4, //每页显示个数

PagesNavMth:5 //显示导航个数

};



$.fn.Pages.setDefaults = function(settings) {

$.extend( $.fn.kkPages.defaults, settings );

};



})(jQuery);

HTML文件代码:

<script src="http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js"></script> 

<script src="script/jquery.Pages.js"></script>

<script>

$(function(){



$('.pagelist').Pages({



PagesClass:'.item', //需要分页的元素

PagesMth:4, //每页显示个数

PagesNavMth:5 //显示导航个数





});



$('.newslist').Pages({



PagesClass:'li', //需要分页的元素

PagesMth:5, //每页显示个数

PagesNavMth:5 //显示导航个数





});





}); 





</script>

添加分页导航css样式

    /* Pages */

    .Pagination{float: right;height: 55px;_height: 45px; line-height: 20px;margin-right: 15px;_margin-right: 5px; color: 

    #565656;margin-top: 10px;_margin-top: 20px; clear:both;}

    .Pagination span{margin-right: 5px;display: block;float: left;margin-left: 5px;}

    .Pagination span b{padding: 0 2px;}

    .Pagination div {float:left}

    .Pagination a{ font-size: 12px;text-decoration: none;display: block;float: left;color: #565656;border: 1px solid #cacaca;height: 20px;line-height: 20px;padding: 0 10px;margin: 0 2px;}

    .Pagination .Ellipsis {line-height: 32px;overflow: hidden; display:none;}

    cite.FormNum{display: block;float: left;line-height: 20px;height: 20px; font-style:  normal; padding-left:10px;}

    #PageNum{ color:#777;width: 30px;height: 20px;line-height: 20px; border: 1px solid #cacaca; margin:0 5px; text-align:center;}

    .Pagination a:hover,.Pagination a.PageCur{background-color: #ee6600;border: 1px solid #d64c01;color: #ffffff; }

调用方法:

$('.newslist').Pages({ 

    &nbsp;&nbsp;&nbsp;PagesClass:'li', //需要分页的元素

    &nbsp;&nbsp;&nbsp;PagesMth:5, //每页显示个数 

    &nbsp;&nbsp;&nbsp;PagesNavMth:5 //显示导航个数

})

jquery-ul-li实现分页功能 转载仅供交流的更多相关文章

  1. jquery中对于ul>li列表分页。学习记录

    这个是很简单的一种分页,只能对列表进行分页.为了开发有可能需要用到记录下来 Html代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 T ...

  2. jquery - ul li click 无响应

    搞了很久, 发现对应jquery来说, 动态产生的ul li(其实不只是这个, 还有 table td等), 直接使用 $("#ul_div>li").click(funct ...

  3. jQuery实现的简单分页功能的详细解析

    分页功能在项目开发中不可或缺,老司机操作起来就和呼吸一样简单,新手恐怕就会吃力一些. 今天我回顾了一下具体的操作步骤,决定详细的分析一下每一步的实现目的及原理. 我们会创建一个简单的json文件来模拟 ...

  4. visio2013 激活工具,仅供交流学习

    visio2013激活软件 环境是 win7, 64 bit 装了 visio 2013 , 可以却不能用它来画图,在网上找了一些破解工具,大都不能解决问题.网上不靠谱的广告型文章太多了 所幸,终于找 ...

  5. jQuery入门[1]-构造函数【转载】

    最近看了一些jquery的进阶教程,感觉很不错,与大家分享下! jQuery——构造函数 ◦体积小(v1.2.3 15kb)◦丰富的DOM选择器(CSS1-3 + XPath) ◦跨浏览器(IE6,F ...

  6. 【jQuery 分页】jQuery分页功能的实现

    自写的jQuery实现分页功能的分页组件: 功能效果如下: 分页组件就是上图中的三部分, 分别放在表格上部  和下部 . 其中, 1>>>页面的代码如下: product.jsp 其 ...

  7. jQuery实现网页放大镜功能 转载

    京东等电商网站中可以对商品进行放大观察,本文要实现的就是模仿这个放大镜功能,大致效果如下图所示: 简要说明实现思路: 1.原图窗口与放大窗口插入的是同一个图片,不过原图窗口的图片要适当缩小,放大窗口图 ...

  8. jPList – 实现灵活排序和分页功能的 jQuery 插件

    jPList 是一个灵活的 jQuery 插件,可以用于任何 HTML 结构的排序,分页和筛选.它支持的数据源包括:PHP + MySQL,ASP.NET + SQL Server,PHP + SQL ...

  9. jQuery图片无缝滚动JS代码ul/li结构

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

随机推荐

  1. Git commit message和工作流规范

    目的 统一团队Git commit日志标准,便于后续代码review,版本发布以及日志自动化生成等等. 统一团队的Git工作流,包括分支使用.tag规范.issue等 Git commit日志参考案例 ...

  2. 3月题外:关于GeoServer和OpenLayers3实用开源插件或组件的总结

    Geoserver篇 注意: 1)用法 GeoServer-Extension的使用方法:将jar包直接放入部署在tomcat上的geoserver/WEB-INF/lib文件夹中 2)在安装插件时, ...

  3. Desktop Ubuntu 14.04LTS/16.04科学计算环境配置

    Desktop Ubuntu 14.04LTS/16.04科学计算环境配置 计算机硬件配置 cpu i5 6代 内存容量 8G gpu GTX960 显存容量 2G(建议显存在4G以上,否则一些稍具规 ...

  4. Java 注解 入门

    这几天在学习Spring3.x,发觉现在许多框架都用上了java注解功能,然后自己就对java注解这方面初步学习了一下. 首先,注解跟注释不是一个意思,也根本不是同一个事物. 注释就是我们平常平常中对 ...

  5. CLR查找和加载程序集的方式

    C#开发者在开发WinForm程序.Asp.Net Web(MVC)程序等,不可避免的在项目中引用许多第三方的DLL程序集, 编译后引用的dll都放在根目录下.以我个人作品 AutoProject S ...

  6. PHP-配置方法

    由于php是一个zip文件(非install版),安装较为简单,解压就行.把解压的 php5.2.1-Win32重命名为 php5.并复制到C盘目录下.即安装路径为 c:\php5 1 找到php目录 ...

  7. 使用webcollector爬虫技术获取网易云音乐全部歌曲

    最近在知乎上看到一个话题,说使用爬虫技术获取网易云音乐上的歌曲,甚至还包括付费的歌曲,哥瞬间心动了,这年头,好听的流行音乐或者经典老歌都开始收费了,只能听不能下载,着实很郁闷,现在机会来了,于是开始研 ...

  8. 【转】请求处理机制其二:Django中间件的解析

    Middleware 开始工作了 get_response 做的第一件事就是遍历处理器的 _request_middleware 实例变量并调用其中的每一个方法,传入 HttpRequest 的实例作 ...

  9. Redis Sentinel中的机制与原理详解

    序言 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案.实际上这意味着你可以使用Sentinel模式创建一个可以不用人为干预而应对各种故障的Redis部署. 它的主要功能有以 ...

  10. ps-图像的符合

    1.将所需要的背景和素材添加到同一个画布中 2.选择素材图层---工具栏---修复画笔工具-----alt+左键,在素材上进行定位 3.切换到背景图层 4.按住鼠标左键并在合适位置进行拖动, 5.松开 ...