简单的分页代码js实现_javascript技巧

先看看效果图:

简单的分页js代码:
1、效果描述: 
不用分页即可显示的jQuery插件 
jQuery分页插件——jQuery.page.js用法很简单,效果很棒  
2、调用方法:  

 $(".tcdPageCode").createPage({
  pageCount:10,
  current:1,
  backFn:function(p){
   //单击回调方法,p是当前页码
  }
 });
 pageCount:总页数
 current:当前页 

3、js封装代码

//分页插件
/**
ch
**/
(function($){
 var ms = {
  init:function(obj,args){
   return (function(){
    ms.fillHtml(obj,args);
    ms.bindEvent(obj,args);
   })();
  },
  //填充html
  fillHtml:function(obj,args){
   return (function(){
    obj.empty();
    //上一页
    if(args.current > 1){
     obj.append('<a href="javascript:;" class="prevPage">上一页</a>');
    }else{
     obj.remove('.prevPage');
     obj.append('<span class="disabled">上一页</span>');
    }
    //中间页码
    if(args.current != 1 && args.current >= 4 && args.pageCount != 4){
     obj.append('<a href="javascript:;" class="tcdNumber">'+1+'</a>');
    }
    if(args.current-2 > 2 && args.current <= args.pageCount && args.pageCount > 5){
     obj.append('<span>...</span>');
    }
    var start = args.current -2,end = args.current+2;
    if((start > 1 && args.current < 4)||args.current == 1){
     end++;
    }
    if(args.current > args.pageCount-4 && args.current >= args.pageCount){
     start--;
    }
    for (;start <= end; start++) {
     if(start <= args.pageCount && start >= 1){
      if(start != args.current){
       obj.append('<a href="javascript:;" class="tcdNumber">'+ start +'</a>');
      }else{
       obj.append('<span class="current">'+ start +'</span>');
      }
     }
    }
    if(args.current + 2 < args.pageCount - 1 && args.current >= 1 && args.pageCount > 5){
     obj.append('<span>...</span>');
    }
    if(args.current != args.pageCount && args.current < args.pageCount -2 && args.pageCount != 4){
     obj.append('<a href="javascript:;" class="tcdNumber">'+args.pageCount+'</a>');
    }
    //下一页
    if(args.current < args.pageCount){
     obj.append('<a href="javascript:;" class="nextPage">下一页</a>');
    }else{
     obj.remove('.nextPage');
     obj.append('<span class="disabled">下一页</span>');
    }
   })();
  },
  //绑定事件
  bindEvent:function(obj,args){
   return (function(){
    obj.on("click","a.tcdNumber",function(){
     var current = parseInt($(this).text());
     ms.fillHtml(obj,{"current":current,"pageCount":args.pageCount});
     if(typeof(args.backFn)=="function"){
      args.backFn(current);
     }
    });
    //上一页
    obj.on("click","a.prevPage",function(){
     var current = parseInt(obj.children("span.current").text());
     ms.fillHtml(obj,{"current":current-1,"pageCount":args.pageCount});
     if(typeof(args.backFn)=="function"){
      args.backFn(current-1);
     }
    });
    //下一页
    obj.on("click","a.nextPage",function(){
     var current = parseInt(obj.children("span.current").text());
     ms.fillHtml(obj,{"current":current+1,"pageCount":args.pageCount});
     if(typeof(args.backFn)=="function"){
      args.backFn(current+1);
     }
    });
   })();
  }
 }
 $.fn.createPage = function(options){
  var args = $.extend({
   pageCount : 10,
   current : 1,
   backFn : function(){}
  },options);
  ms.init(this,args);
 }
})(jQuery); 

4、使用demo:

<!DOCTYPE html>
<html lang="zh-cn" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>一个非常简单的jQuery分页插件</title>
<style>
*{ margin:0; padding:0; list-style:none;}
a{ text-decoration:none;}
a:hover{ text-decoration:none;}
.tcdPageCode{padding: 15px 20px;text-align: left;color: #ccc;}
.tcdPageCode a{display: inline-block;color: #428bca;display: inline-block;height: 25px; line-height: 25px; padding: 0 10px;border: 1px solid #ddd; margin: 0 2px;border-radius: 4px;vertical-align: middle;}
.tcdPageCode a:hover{text-decoration: none;border: 1px solid #428bca;}
.tcdPageCode span.current{display: inline-block;height: 25px;line-height: 25px;padding: 0 10px;margin: 0 2px;color: #fff;background-color: #428bca; border: 1px solid #428bca;border-radius: 4px;vertical-align: middle;}
.tcdPageCode span.disabled{ display: inline-block;height: 25px;line-height: 25px;padding: 0 10px;margin: 0 2px; color: #bfbfbf;background: #f2f2f2;border: 1px solid #bfbfbf;border-radius: 4px;vertical-align: middle;}
</style>
</head>
<body>
<style>
.baidu_ads{ width:960px; height:90px; position:absolute; left:50%; bottom:0; margin-left:-480px; overflow:hidden;}
</style>
<div class="baidu_ads">
</div> 

<span style="display:none;">
</span><!-- 代码部分begin -->
 <div class="tcdPageCode">
 </div>
 <pre>
 调用方法:
 $(".tcdPageCode").createPage({
  pageCount:10,
  current:1,
  backFn:function(p){
   //单击回调方法,p是当前页码
  }
 });
 pageCount:总页数
 current:当前页
 </pre>
</body>
<script src="http://www.jb51.net/ajaxjs/jquery.min.js"></script>
<script src="http://www.jb51.net/ajaxjs/jquery.page.js"></script>
<script>
 $(".tcdPageCode").createPage({
  pageCount:6,
  current:1,
  backFn:function(p){
   console.log(p);
  }
 });
</script>
<!-- 代码部分end -->
</html> 

以上就是本文的全部内容,希望对大家学习Javascript有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索js分页
, jquery分页插件
jQuery.page.js
javascript实现分页、php分页代码简单实现、jsp实现简单分页显示、php简单实现分页、javascript 分页,以便于您获取更多的相关知识。

时间: 2024-10-12 23:14:46

简单的分页代码js实现_javascript技巧的相关文章

纯js分页代码(简洁实用)_javascript技巧

复制代码 代码如下: //每页显示字数PageSize=5000;//分页模式flag=2;//1:根据字数自动分页 2:根据[NextPage]分页//默认页startpage = 1;//导航显示样式 0:常规 1:直接 3:下拉TopShowStyle = 1;DownShowStyle = 0;  var currentSet,CutFlag,TotalByte,PageCount,key,tempText,tempPage; key=""; currentSet=0; var

javascript 新闻标题静态分页代码 (无刷新)_javascript技巧

   一个模板,从数据库取n条记录,生成静态. 做单页面的静态化,索引页面是用JS对数组进行组合的. 因为记录只是一个标题,一个链接,字节数不会太大, 那么用js去用这个大数组进行分页,貌似不错,很节约带宽! 还是很棒的,简单,实用,值得推荐! JS代码: 复制代码 代码如下: function title_array(title, link_add, store_time) { this.title = title; this.link_add = link_add; this.store_t

页面右下角弹出提示框示例代码js版_javascript技巧

复制代码 代码如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+r

简单谈谈javascript代码复用模式_javascript技巧

代码复用有一个著名的原则,是GoF提出的:优先使用对象组合,而不是类继承.在javascript中,并没有类的概念,所以代码的复用,也并不局限于类式继承.javascript中创建对象的方法很多,有构造函数,可以使用new创建对象,并且可以动态的修改对象.javascript的非类式继承(可称为现代继承模式)复用方法也很多,例如,利用其它对象组合成所需要的对象,对象混入技术,借用和复用所需要的方法. 类式继承模式-默认模式 两个构造函数Parent和Child的例子: 复制代码 代码如下: fu

基于逻辑运算的简单权限系统(实现) JS 版_javascript技巧

作者: slightboy, 时间: 2006-10-17 此篇为 JS 实现版本, 以前作已交待原理 故不在此多做解释 如需原理介绍 请查看 VBS 版. var PermissionType = {     Read : 1,     Write : 2,     Delete : 4 } function PermissionSetComponent(value) {     this.Value = value;     this.getRead = function()     {  

jsp 简单实例分页代码

jsp 简单实例分页代码 <% int pageSize=10; int showPage=1; int recCount=0; int pageCount=0; String SqlArticle; String toPage = request.getParameter("page"); SqlArticle="Select * from hl_news where smallname='"+csmallname+"' order by time

一个判断抢购时间是否到达的简单的js函数_javascript技巧

原型函数,功能很简单,找到时钟的id,计算数值,到达抢购时间时执行任务. function nwt() {var str=$('#deal_expiry_timer_e3cdcd2a').text(); var out=str.match(/\d+/g);console.log(out); var h=parseInt(out[0]),m=parseInt(out[1]),s=parseInt(out[2]); console.log(h+'#'+m+'#'+s);var calc=h*3600

JS随机漂浮广告代码具体实例_javascript技巧

复制代码 代码如下: <!--随机漂浮广告开始--><div id="float" style="position:absolute; z-index:3;(我建议大家把这里设为100,这样浮动图就不会被遮住了) left: 512px; width: 83px; top: 9px; height: 53px;">      <img src="piaofu.gif" width="100" he

纯javascript实现分页(两种方法)_javascript技巧

先给大家贴效果图:      网上确实有很多分页的插件以及开源代码,单本是一个后台开发猿,前台css等样式还驾驭不住,所以就开始自己去写了.其实这个分页原理很简单,就是用ajax往后台传值(当前页码),后台使用limit进行分页.      因为这是我自己第一次动手用js写分页,写的应该也不是很完美,有些公共的没有抽取出来,但是用起来还是可以的,这块代码是可以把它当做公共的分页去处理的,我就是用 这块代码写了两个稍微不同一些的分页!公共的代码抽取的也差不多,主要就是ajax后台以及返回的值不同而