javascript分页,web前端分页

javascript分页

你好,你看下是不是你要的代码呢,我还扩充了t[26]="利用JavaScript实现网页分页技术25|25.htm|2002.6.8|枫情"

站在用户的角度思考问题,与客户深入沟通,找到淄博网站设计与淄博网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计制作、成都网站制作、企业官网、英文网站、手机端网站、网站推广、主机域名网站空间、企业邮箱。业务覆盖淄博地区。

t[27]="利用JavaScript实现网页分页技术26|26.htm|2002.6.8|枫情"

html

script language="JavaScript"

!--

var p=8

var t=new Array()

t[0]="利用JavaScript实现网页分页技术1|01.htm|2002.6.8|枫情"

t[1]="利用JavaScript实现网页分页技术2|02.htm|2002.6.8|枫情"

t[2]="利用JavaScript实现网页分页技术3|03.htm|2002.6.8|枫情"

t[3]="利用JavaScript实现网页分页技术4|04.htm|2002.6.8|枫情"

t[4]="利用JavaScript实现网页分页技术5|05.htm|2002.6.8|枫情"

t[5]="利用JavaScript实现网页分页技术6|06.htm|2002.6.8|枫情"

t[6]="利用JavaScript实现网页分页技术7|07.htm|2002.6.8|枫情"

t[7]="利用JavaScript实现网页分页技术8|08.htm|2002.6.8|枫情"

t[8]="利用JavaScript实现网页分页技术9|09.htm|2002.6.8|枫情"

t[9]="利用JavaScript实现网页分页技术10|10.htm|2002.6.8|枫情"

t[10]="利用JavaScript实现网页分页技术11|11.htm|2002.6.8|枫情"

t[11]="利用JavaScript实现网页分页技术12|12.htm|2002.6.8|枫情"

t[12]="利用JavaScript实现网页分页技术13|13.htm|2002.6.8|枫情"

t[13]="利用JavaScript实现网页分页技术14|14.htm|2002.6.8|枫情"

t[14]="利用JavaScript实现网页分页技术15|15.htm|2002.6.8|枫情"

t[15]="利用JavaScript实现网页分页技术16|16.htm|2002.6.8|枫情"

t[16]="利用JavaScript实现网页分页技术17|17.htm|2002.6.8|枫情"

t[17]="利用JavaScript实现网页分页技术18|18.htm|2002.6.8|枫情"

t[18]="利用JavaScript实现网页分页技术19|19.htm|2002.6.8|枫情"

t[19]="利用JavaScript实现网页分页技术20|20.htm|2002.6.8|枫情"

t[20]="利用JavaScript实现网页分页技术21|21.htm|2002.6.8|枫情"

t[21]="利用JavaScript实现网页分页技术22|22.htm|2002.6.8|枫情"

t[22]="利用JavaScript实现网页分页技术23|23.htm|2002.6.8|枫情"

t[23]="利用JavaScript实现网页分页技术24|24.htm|2002.6.8|枫情"

t[24]="利用JavaScript实现网页分页技术25|25.htm|2002.6.8|枫情"

t[25]="利用JavaScript实现网页分页技术26|26.htm|2002.6.8|枫情"

t[26]="利用JavaScript实现网页分页技术25|25.htm|2002.6.8|枫情"

t[27]="利用JavaScript实现网页分页技术26|26.htm|2002.6.8|枫情"

var totalPage=Math.ceil(t.length/p)

var curPage=1;

var str=window.location.toString();

if (str.indexOf("?")==-1)

str=str+"?1"

r=str.split("?")

curPage=parseInt(r[1],10);

w();

if (curPage1)

document.write("a href="+r[0]+"?"+(curPage-1)+"上一页/a");

else

document.write("上一页");

document.write(" 第"+(t.length-(curPage-1)*p)+"至");

if (curPagetotalPage)

document.write(t.length-(curPage)*p+1);

else

document.write("1");

document.write("条,总共有"+t.length+"条信息! ");

if (curPagetotalPage)

document.write("a href="+r[0]+"?"+(curPage+1)+"下一页/a");

else

document.write("下一页");

function w()

{

var c=new Array()

if (curPage=totalPage){

b=t.length;

s=(totalPage-1)*p;

}

else{

b=curPage*p;

s=(curPage-1)*p;

}

for (i=s;ib;i++)

{

try{

c=t[i].split("|")

document.write(" "+(t.length-i)+"、文 章 标 题a href="+c[1]+" target=_blank"+c[0]+"/a时间"+c[2]+"作者"+c[3]

+"br");

}catch(e){alert("i:"+i+",b:"+b+",s:"+s)}

}

}

// --

/script

/html

仔细理解它的内涵,我用//标出了我修改的地方,对比下原来的代码,看看它的思路吧,其实不难。

再给你推荐个网站,

若有问题,请到留言,只要在能力范围之内,肯定帮助。

论坛:

js的分页原理以及实现步骤是什么?

主要是借鉴了网上一个例子,修改了一些小地方,前端分页的技巧,表格的数据是已经写好了,可以前端渲染表格然后再分页,都是可以的。

其实分页最关键是这两句:

var startRow = (currentPage - 1) * pageSize+1;  //currentPage 为当前页,pageSize为每页显示的数据量

var endRow = currentPage * pageSize;

找到我们需要显示的行的范围(starRow~endRow)

ps:这里在跳转的时候遇到了一个小BUG,就是获取到的select的value值是string类型的,比如获取到了1,然后你想再加1的时候就会变成"11"  而不是我们想要的"2",所以这里需要用parseInt( )来转换一下,小细节需要注意呀!!!

效果图:

[javascript] view plain copy print?

!doctype html

html

head

meta charset='utf-8'

style type="text/css"

a{

text-decoration: none;

}

.table2{

border:#C8C8C8 solid;

border-width:1px 0px 0px 1px;

background: #F3F0F0;

margin-top:25px;

}

.td0{

border:#C8C8C8 solid;

border-width:0 0 1px 0;

}

.td2{

border:#C8C8C8 solid;

border-width:0 1px 1px 0 ;

}

.barcon {

width: 1000px;

margin: 0 auto;

text-align: center;

}

.barcon1 {

font-size: 17px;

float: left;

margin-top: 20px;

}

.barcon2 {

float: right;

}

.barcon2 ul {

margin: 20px 0;

padding-left: 0;

list-style: none;

text-align: center;

}

.barcon2 li {

display: inline;

}

.barcon2 a {

font-size: 16px;

font-weight: normal;

display: inline-block;

padding: 5px;

padding-top: 0;

color: black;

border: 1px solid #ddd;

background-color: #fff;

}

.barcon2 a:hover{

background-color: #eee;

}

.ban {

opacity: .4;

}

/style

/head

body

table width="950" cellpadding="0" cellspacing="0" class="table2" align="center"

thead

tr

td colspan="3" height="33" class="td0" /td

td align="center" class="td2"a href="###"添加用户/a/td

/tr

tr align="center"

th width="150" height="33" class="td2"序号/th

th width="300" class="td2"用户名/th

th width="250" class="td2"权限/th

th width="250" class="td2"操作/th

/tr

/thead

tbody id="adminTbody"

tr align="center"

td class="td2" height="33" width="150"1/td

td class="td2" admin/td

td class="td2" 管理员/td

td class="td2" a href="###"修改/a/td

/tr

/tbody

/table

div id="barcon" class="barcon" 

div id="barcon1" class="barcon1"/div

div id="barcon2" class="barcon2"

ul

lia href="###" id="firstPage"首页/a/li

lia href="###" id="prePage"上一页/a/li

lia href="###" id="nextPage"下一页/a/li

lia href="###" id="lastPage"尾页/a/li

liselect id="jumpWhere"

/select/li

lia href="###" id="jumpPage" onclick="jumpPage()"跳转/a/li

/ul

/div

/div

script src="jquery.js"/script

script

/*动态生成用户函数

num为生成的用户数量

*/

function dynamicAddUser(num){

for(var i=1;i=num;i++)

{

var trNode=document.createElement("tr");

$(trNode).attr("align","center");

//序号

var tdNodeNum=document.createElement("td");

$(tdNodeNum).html(i+1);

tdNodeNum.style.width = "150px";

tdNodeNum.style.height = "33px";

tdNodeNum.className = "td2";

//用户名

var tdNodeName=document.createElement("td");

$(tdNodeName).html("lzj"+i);

tdNodeName.style.width = "300px";

tdNodeName.className = "td2";

//权限

var tdNodePri=document.createElement("td");

tdNodePri.style.width = "250px";

tdNodePri.className = "td2";

var priText=document.createElement("span");

$(priText).css({"display":"inline-block","text-align":"center"});

$(priText).text("普通用户");

tdNodePri.appendChild(priText);

//操作

var tdNodeOper = document.createElement("td");

tdNodeOper.style.width = "170px";

tdNodeOper.className = "td2";

var editA = document.createElement("a");

$(editA).attr("href", "###").text("编辑");

$(editA).css({ display: "inline-block" });

tdNodeOper.appendChild(editA);

trNode.appendChild(tdNodeNum);

trNode.appendChild(tdNodeName);

trNode.appendChild(tdNodePri);

trNode.appendChild(tdNodeOper);

$("#adminTbody")[0].appendChild(trNode);

}

}

$(function(){

dynamicAddUser(80);

goPage(1,10);

var tempOption="";

for(var i=1;i=totalPage;i++)

{

tempOption+='option value='+i+''+i+'/option'

}

$("#jumpWhere").html(tempOption);

})

/**

* 分页函数

* pno--页数

* psize--每页显示记录数

* 分页部分是从真实数据行开始,因而存在加减某个常数,以确定真正的记录数

* 纯js分页实质是数据行全部加载,通过是否显示属性完成分页功能

**/

var pageSize=0;//每页显示行数

var currentPage_=1;//当前页全局变量,用于跳转时判断是否在相同页,在就不跳,否则跳转。

var totalPage;//总页数

function goPage(pno,psize){

var itable = document.getElementById("adminTbody");

var num = itable.rows.length;//表格所有行数(所有记录数)

pageSize = psize;//每页显示行数

//总共分几页

if(num/pageSize  parseInt(num/pageSize)){

totalPage=parseInt(num/pageSize)+1;

}else{

totalPage=parseInt(num/pageSize);

}

var currentPage = pno;//当前页数

currentPage_=currentPage;

var startRow = (currentPage - 1) * pageSize+1;

var endRow = currentPage * pageSize;

endRow = (endRow  num)? num : endRow;

//遍历显示数据实现分页

/*for(var i=1;i(num+1);i++){

var irow = itable.rows[i-1];

if(i=startRow  i=endRow){

irow.style.display = "";

}else{

irow.style.display = "none";

}

}*/

$("#adminTbody tr").hide();

for(var i=startRow-1;iendRow;i++)

{

$("#adminTbody tr").eq(i).show();

}

var tempStr = "共"+num+"条记录 分"+totalPage+"页 当前第"+currentPage+"页";

document.getElementById("barcon1").innerHTML = tempStr;

if(currentPage1){

$("#firstPage").on("click",function(){

goPage(1,psize);

}).removeClass("ban");

$("#prePage").on("click",function(){

goPage(currentPage-1,psize);

}).removeClass("ban");

}else{

$("#firstPage").off("click").addClass("ban");

$("#prePage").off("click").addClass("ban");

}

if(currentPagetotalPage){

$("#nextPage").on("click",function(){

goPage(currentPage+1,psize);

}).removeClass("ban")

$("#lastPage").on("click",function(){

goPage(totalPage,psize);

}).removeClass("ban")

}else{

$("#nextPage").off("click").addClass("ban");

$("#lastPage").off("click").addClass("ban");

}

$("#jumpWhere").val(currentPage);

}

function jumpPage()

{

var num=parseInt($("#jumpWhere").val());

if(num!=currentPage_)

{

goPage(num,pageSize);

}

}

/script

/body

/html

javascript如何实现div分页呢?

主要思路:就是点击当前页时,它自己显示,其它的都隐藏;

下面是简单的代码实现:

style    

input.active {background:yellow;}    

div {width:200px; height:200px; border:1px solid red; display:none;}    

div.active {display:block;}    

/style    

script    

window.onload=function(){    

var aBtn = document.getElementsByTagName('input');    

var aDiv = document.getElementsByTagName('div');    

for(var i =0; iaBtn.length;i++)    

{    

(function(index){    //因为要存储点击的下标,所以需要做一个参数引入。学名叫'自执行匿名函数'。

aBtn[i].onclick=function(){   

//这个for循环的作用是将所以的都隐藏。 

for(var i =0; iaBtn.length;i++)    

{    

aBtn[i].className='';    

aDiv[i].className='';    

}    

//这是将当前点击的显示。

this.className='active';    

aDiv[index].className='active';    

};    

})(i);    

}    

};    

/script    

/head    

body    

input type="button" value="111" class='active' /    

input type="button" value="222" /    

input type="button" value="333" /    

div class="active"11111111111/div    

div22222222222/div    

div33333333333/div    

/body

如何用JS将数据在页面上分页显示出来

在servlet的service()方法中只需进行如下操作:

PageControl

pageCtl

=

yourBusinessObject.listData(req.getParameter("jumpPage"));

req.setAttribute("pageCtl",pageCtl);

说明:yourBusinessObject封装了商业逻辑,是位于Business

Logic

Layer中的一个对象,运用OOAD的方法,封装商业对象,在Persistent

Layer之上组建坚实的Business

Logic

Layer同样是构建大型电子商务架构的关键所在。本文的关注点只是分页处理,暂不详细论述.

在每个想要实现翻页显示数据的jsp页面中,我们的工作也很简单,其代码是公式化的:

jsp:useBean

id="pageCtl"

class="yourpackage.PageControl"

scope="request"/jsp:useBean

%if(pageCtl.maxPage!=1)){%

form

name="PageForm"

action="/servlet/yourpackage.yourservlet"

method="post"

%@

include

file="/yourpath/pageman.jsp"%

/form

%}%

说明:

if(pageCtl.maxPage!=1)实现了这样一个逻辑:如果所取得数据不足一页,那么就不用进行翻页显示。

我们注意到%@

include

file="/yourpath/pageman.jsp"%这使得真正的翻页部分完全得到了重用.

那么pageman.jsp到底做了些什么呢?它实现了经常做翻页处理的人耳熟能详的逻辑 

(A)第一页时不能再向前翻; 

(B)最后一页时不能再向后翻; 

同时能够进行页面任意跳转,具体代码如下:

每页%=pageCtl.rowsPerPage%行

共%=pageCtl.maxRowCount%行

第%=pageCtl.curPage%页

共%=pageCtl.maxPage%页

BR

%if(pageCtl.curPage==1){

out.print("

首页

上一页");

}else{

%

A

HREF="javascript:gotoPage(1)"首页/A

A

HREF="javascript:gotoPage(%=pageCtl.curPage-1%)"上一页/A

%}%

%if(pageCtl.curPage==pageCtl.maxPage){

out.print("下一页

尾页");

}else{

%

A

HREF="javascript:gotoPage(%=pageCtl.curPage+1%)"下一页/A

A

HREF="javascript:gotoPage(%=pageCtl.maxPage%)"尾页/A

%}%

转到第SELECT

name="jumpPage"

onchange="Jumping()"

%

for(int

i=1;i=pageCtl.maxPage;i++)

{

if

(i==

pageCtl.curPage){

%

OPTION

selected

value=%=i%%=i%/OPTION

%}else{%

OPTION

value=%=i%%=i%/OPTION

%}}%

/SELECT页

最后附上用于页面跳转的javascript公共函数:

function

Jumping(){

document.PageForm.submit();

return

;

}

function

gotoPage(pagenum){

document.PageForm.jumpPage.value

=

pagenum;

document.PageForm.submit();

return

;

}

运行效果:

分页跳转的时候,上一页,下一页按钮 如何用javascript传值

你好,我这里有个自己写的javascript的分页,你可以去借鉴一下,希望能帮到你。

//定义有关分页的操作

var pageSize;//每页显示的记录数

var countPage;//总页数

var countRecord;//总记录数

var nowPage=1;//当前页

var startIndex;//每页开始的记录数

var endIndex;//每页结束的记录数

var $pageInfo;

var $showUsers;

//dom载入完毕 触发的匿名函数

$(document).ready(function() {

//分页操作

pageSize=$("#pagesize").val();//获取默认的pageSize的值

$pageInfo=$("#showPageInfo");

$showUsers=$("#showUsers");

// 获取全选input删除的dom对象

var qxDom = $("#qx")[0];

// 把checkbox设置为没有选中的状态

qxDom.checked = false;

// 把table隐藏

$("#users").css("display", "none");

// 根据id获取添加的input的jquery对象

var $name = $("#name");

var $sex = $("input[type='radio']:checked");

var $age = $("#age");

/*----------------下面是添加按钮的事件-------------------*/

// 注册按钮事件

$("#addUser").click(function() {

// 获取table中display样式的值

var val = $("#users").css("display");

// 判断是否隐藏

if ("none" == val) {

// 显示

$("#users").show();

}

// 获取name值

var name = $name.val();

// 获取sex

var sex = $sex.val();

// 获取age

var age = $age.val();

// 创建tr

var $tr = $("tr/tr");

// 创建td

var $td1 = $("td/td");

// 创建input

var $input = $("input type='checkbox'");

$td1.append($input);

// 创建td 并且 添加name文本节点

var $td2 = $("td/td").append(name);

// 创建td 并且 把sex 对应的文本添加到td中

var $td3 = $("td/td").append(sex);

var $td4 = $("td/td").append(age);

// 创建按钮并且为其注册事件

var $deleteBtn = $("input type='button' value='删除'");

// 给按钮注册事件

$deleteBtn.click(function() {

$(this).parent().parent().remove();

});

var $td5 = $("td/td");

// 或者

// $td5.append($deleteBtn);

// 把创建的按钮添加到td5中

$deleteBtn.appendTo($td5);

// 注册可编辑事件

$td2.dblclick(clickTd);

$td3.dblclick(clickTd);

$td4.dblclick(clickTd);

// 对象的链式操作

$tr.append($td1).append($td2).append($td3).append($td4).append($td5);

// 在tbody中添加tr

$showUsers.append($tr);

//添加成功之后 进行分页操作

countRecord=$("#showUsers tr").size();//获取总记录数

pageInfo();

});

/*----------------上面是添加按钮的事件-------------------*/

/*----------------下面是全选的事件处理-------------------*/

// 全选和反选的操作

$("#qx").click(function() {

if (this.checked) {

$("tdinput[type='checkbox']").each(function() {

this.checked = true;

});

} else {

$("tdinput[type='checkbox']").each(function() {

this.checked = false;

});

}

})

/*----------------上面是全选的事件处理-------------------*/

/*----------------下面是批量删除的事件处理-------------------*/

// 删除的操作

$("#deleteCheckedBtn").click(function() {

$("tdinput[type='checkbox']").each(function() {

if (this.checked) {

// 删除所选中的tr行

$(this).parent().parent().remove();

}

// 并且将复选框设置为没选中的状态

qxDom.checked = false;

});

});

/*----------------上面是批量删除的事件处理-------------------*/

//注册改变的事件

$("#pagesize").change(function(){

pageSize=$(this).val();

pageInfo();

});

var $firstBtn=$("#firstBtn");

var $backBtn=$("#backBtn");

var $nextBtn=$("#nextBtn");

var $lastBtn=$("#lastBtn");

$firstBtn.click(pageInfo);

$backBtn.click(pageInfo);

$nextBtn.click(pageInfo);

$lastBtn.click(pageInfo);

});

/*----------------下面是表格可编辑的事件处理-------------------*/

// 注册的编辑事件处理

var clickTd = function() {

// 获取当前对象中孩子节点为input的集合对象 判断这个集合对象的长度是否大于0

if ($(this).children("input").length  0) {

// 返回程序

return false;

} else {

// 获取点击的td的值

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

// td清空

$(this).empty();

// 创建input输入框

var $cinput = $("input type='text' value='" + value + "'");

// 失去焦点的事件

$cinput.blur(blurInput);

// 添加到td中

$(this).append($cinput);

}

}

// 失去焦点触发的函数

var blurInput = function() {

// 获取值

var value = $(this).val();

// 给td重新设置文本

$(this).parent().text(value);

}

/*----------------上面是表格可编辑的事件处理-------------------*/

var pageInfo=function(){

//获取总记录数

countRecord=$("#showUsers tr").size();

//计算总页数

countPage=Math.ceil(countRecord/pageSize);

//点击按钮的判断

if(this.nodeType==1){

//首先获取你点击的按钮的id的值

var idValue=$(this).attr("id");

//判断是否是首页

if("firstBtn"==idValue){

nowPage=1;

//判断是否是上一页

}else if("backBtn"==idValue){

if(nowPage1){

nowPage--;

}

//判断是否是下一页

}else if("nextBtn"==idValue){

if(nowPagecountPage){

nowPage++;

}

//判断是否是末页

}else if("lastBtn"==idValue){

nowPage=countPage;

}

}

startIndex=(nowPage-1)*pageSize+1;//获取每页开始记录数

endIndex=nowPage*pageSize;//获取每页结束记录数

//如果结束的记录大于总记录数

if(endIndex=countRecord){

//让结束的记录数 等于总记录数

endIndex=countRecord;

}

//如果结束的记录数小于显示的记录数

if(countRecord=pageSize){

endIndex=countRecord;

}

//显示操作

$("#showUsers tr:gt("+(startIndex-1)+")").show();

$("#showUsers tr:lt("+(endIndex-1)+")").show();

//隐藏操作

//设置隐藏超出页数之外的数据

$("#showUsers tr:lt("+(startIndex-1)+")").css("display","none");

$("#showUsers tr:gt("+(endIndex-1)+")").css("display","none");

$pageInfo.html("当前从"+startIndex+"记录到"+endIndex+"记录数,共"+countRecord+"记录当前是"+nowPage+",共"+countPage+"页");

}

文章名称:javascript分页,web前端分页
分享路径:https://www.cdcxhl.com/article32/dsdjisc.html

成都网站建设公司_创新互联,为您提供电子商务标签优化服务器托管营销型网站建设建站公司网站收录

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

商城网站建设