javascript实现分页效果

一般的页面我们实现分页效果都是用跳转的形式,但是有些需求需要我们在不跳转页面的同时完成分页效果,简单的一个实现例子:

window.onload = function(){
          page({
              id:‘pageBox‘,
              nowNum:7,
              allNum:10,
              callback:function(now,all){
                  alert(now+ ‘ ‘+all)

              }
          })
        }
        function page(obj){
            if(!obj.id){
                return false;
            }
            var obj1 = document.getElementById(obj.id);
                nowNum =obj.nowNum || 1,
                allNum = obj.allNum || 5,
                callback=obj.callback ||function(){};
            if(nowNum>=4&& allNum>=6){
                var oA = document.createElement(‘a‘);
                oA.href=‘#1‘;
                oA.innerHTML =‘首页‘;
                obj1.appendChild(oA);
            }
            if(nowNum>=2){
                var oA = document.createElement(‘a‘);
                oA.href=‘#‘+(nowNum-1);
                oA.innerHTML =‘上一页‘;
                obj1.appendChild(oA);
            }
            if(allNum<=5){
                for(var i=1; i<allNum;i++){
                    var oA = document.createElement(‘a‘);
                    oA.href=‘#‘+i;
                    if(nowNum==i){
                        oA.innerHTML=i;
                    }else {
                        oA.innerHTML =‘[‘ +i+‘]‘;

                    }
                    obj1.appendChild(oA);
                }

            }else{
                for(var i =1;i<=5;i++){
                    var oA = document.createElement(‘a‘);
                   if(nowNum==1||nowNum==2){
                       oA.href=‘#‘+i;
                       if(nowNum==i){
                           oA.innerHTML =i;
                       }else{
                           oA.innerHTML =‘[‘ +i+‘]‘;
                       }

                   } else if((allNum-nowNum)==0 ||(allNum-nowNum)==1){
                       oA.href=‘#‘+(allNum-5+i);
                       if((allNum-nowNum)==0 && i==5){
                           oA.innerHTML=(allNum-5+i);
                       }else if((allNum-nowNum)==1&&i==4){
                           oA.innerHTML=(allNum-5+i);
                       }
                       else{

                           oA.innerHTML=‘[‘+(allNum-5+i)+‘]‘;

                       }

                   }else{
                       oA.href=‘#‘+(nowNum-3+i) ;
                       if(i==3){
                           oA.innerHTML =(nowNum-3+i);
                       } else{
                           oA.innerHTML =‘[‘ +(nowNum-3+i)+‘]‘;
                       }
                   }

                    obj1.appendChild(oA);
                }
            }
            if(allNum-nowNum>=1){
                var oA = document.createElement(‘a‘);
                oA.href=‘#‘+(nowNum+1);
                oA.innerHTML =‘下一页‘;
                obj1.appendChild(oA);
            }
            if(allNum-nowNum>=3&&allNum>=6){
                var oA = document.createElement(‘a‘);
                oA.href=‘#‘+allNum;
                oA.innerHTML =‘最后一页‘;
                obj1.appendChild(oA);
            }
            callback(nowNum,allNum)
            var aA= obj1.getElementsByTagName(‘a‘);
            for(var i=0;i<aA.length;i++){
                aA[i].onclick=function(){
                    var nowNum= parseInt(this.getAttribute(‘href‘).substring(1));

                    obj1.innerHTML=‘‘
                    page({
                        id:obj.id,
                        nowNum:nowNum,
                        allNum:allNum,
                        callback:callback
                    })
                     return false;
                }

            }

        }
        html代码:
        <div id="pageBox"></div>
时间: 2024-08-28 14:26:20

javascript实现分页效果的相关文章

使用JavaScript实现分页效果

应公司需求,有时需要制作静态页面网站,而一旦涉及到文章的分页,实现起来非常麻烦,自己又刚入门,对js不是很熟悉,所以就拿来练练手. 首先页面结构如下,分别展示数据跟分页: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 <style>

5种风格的 jQuery 分页效果【附代码】

5种风格的 jQuery 分页效果 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>jQuery Pagination - jPaginate</title> <meta http-equi

静态页分页效果

//分页 (function(){ var cur=1; $(".newslist li").hide(); var size = $(".newslist li").length; var page = Math.floor($(".newslist li").length/20)+1; for(var i=1; i<=page; i++){ $(".page").append('<a href="ja

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

JavaScript显示分页按钮

/** * * @param total_page 总页数 * @param current_page 当前页 * @param num 页面显示多少个分页按钮 * @returns {string} */ exports.get_page_html = function(total_page,current_page,num){ //范围判断 if(current_page>total_page) { current_page = total_page; } //当前页的前后各显示多少页 va

Ajax实现phpcms列表分页效果

phpcms列表页ajax分页效果: 1.在  /phpcms/modules/模块下加多一个ajaxlist文件夹,在其文件夹下新建一个index.php,内容如下: <?php defined('IN_PHPCMS') or exit('No permission resources.'); //模型缓存路径 define('CACHE_MODEL_PATH',CACHE_PATH.'caches_model'.DIRECTORY_SEPARATOR.'caches_data'.DIRECT

PageHelper+Bootstrap Paginator实现分页效果

最近需要做一个分页,找了挺多的前端分页效果,发现Bootstrap Paginator分页插件效果不错,而我页面也是用BootStrap做的响应式页面,就做了实现一个简单的分页效果. PageHelper地址:https://github.com/pagehelper/Mybatis-PageHelper Bootstrap Paginator:https://github.com/lyonlai/bootstrap-paginator 在SpringBoot+Mybatis做分页 1.首先添加

原生JS实现分页效果1.0

不太完整,写的太急,等等加上完整注释,写起来还是有些难度的,写的有点水,后面再改进改进. <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>原生JS实现分页效果</title> <style> body{ margin:100px 200px; } #page{ margin:20px 0; } #

jquery自定义插件实现分页效果

这节介绍如何自定义jquery插件,实现分页效果,话不多说,先看看实现的效果: 分页插件 实现的代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta charset="utf-8"> <title>page t