花了点时间做了一个简单的Js分页控件.
使用方法如下:
一.基本的用法
<script type="text/javascript">
new MyPager(15,10,1).init();
/**
第一个参数表示总记录数,例如查询学生,查询到的学生总数
第二个参数表示分页大小 ,每页多少个学生
第三个参数表示当前是第几页
**/
</script>
二.所有属性的用法
<script type="text/javascript">
function predo(){
alert("在进入下一页前执行!");
return true;
}
new MyPager(15,10,1,"saveuser.jsp","pagenum","predo").init();
/**
第一个参数表示总记录数,例如查询学生,查询到的学生总数
第二个参数表示分页大小 ,每页多少个学生
第三个参数表示当前是第几页
第四个参数表示分页时,表单要提交到的Action
第五个参数表示提交时,传递当前页值的表单name
第六个参数表示在分页前要执行的函数。(返回true才会进入下一页)
**/
</script>
相关文件内容
Mypager.js
----------------------------------------------------------------------------------------------------------------
/*** Js 分页控件 QQ172610236 2010-9-4 发布 ***/
var MypagerId=0;
//我的分页器 preDoName,在执行跳转到下一页时的这前执行的方法名是个字符串
var MyPager=function(total,pageS,nowP,url,nowPageInputName,preDoName){
this.itemTotal = total==undefined ? 0:total;//总条数
this.pageSize = pageS == undefined ? 10:pageS;//每页大小
this.nowPage = nowP==undefined ? 1:nowP;//当前页
this.lastPage=Math.ceil(this.itemTotal/this.pageSize);//最后一页
this.pagefn="H_goPage";//执行分页时的方法
this.nowPIN=nowPageInputName==undefined||nowPageInputName==""?"nowPage":nowPageInputName;//当前页的,hidden数据
this.outDivClassName="pagination";//最外层Div的ClassName
this.innerDivClassName="page-wrapper";//内层
this.innerFirstClassName="page-info";//内层第一个
this.ulClassName="page-control";//Ul的Classname
this.disableLiClassName="page-disable";//不可点击的按钮的样式
this.firstLiClassName="page-first";
this.prevLiClassName="page-prev";
this.nextLiClassName="page-next";
this.lastLiClassName="page-last";
//创建标签
this.init=function(){
/** 生成相应的HTML代码 **/
var tem = document.createElement('div');
var pagination = document.createElement('div');
pagination.className=this.outDivClassName;
tem.appendChild(pagination);
var wrapper = document.createElement('div');
wrapper.className=this.innerDivClassName;
pagination.appendChild(wrapper);
var innerFirstDiv = document.createElement('div');
innerFirstDiv.className=this.innerFirstClassName;
wrapper.appendChild(innerFirstDiv);
innerFirstDiv.innerHTML="共<span>"+ this.itemTotal +"</span>条记录 每页<span>"+ this.pageSize +"</span>条 当前第<span>"+ this.nowPage +"</span>/<span>"+ this.lastPage +"</span>页";
//创建ul
var pagerul = document.createElement('ul');
pagerul.className=this.ulClassName;
wrapper.appendChild(pagerul);
//第一页
var firstli = document.createElement('li');
if(this.nowPage==1||this.itemTotal==0){
firstli.className=this.firstLiClassName+" "+this.disableLiClassName;
firstli.innerHTML="<span>第一页</span>";
}else{
firstli.className=this.firstLiClassName;
firstli.innerHTML="<a onclick=\"if("+ preDoName +"!=undefined&&!"+ preDoName +"()) return false;MyPager.H_goPage(this,'"+ url +"',"+ this.lastPage + ",'"+ this.nowPIN + "_" + MypagerId +"','1');\" href=\"#\"><span>第一页</span></a>";
}
pagerul.appendChild(firstli);
//上一页
var prevli = document.createElement('li');
if(this.nowPage==1||this.itemTotal==0){
prevli.className=this.prevLiClassName+" "+this.disableLiClassName;
prevli.innerHTML="<span>上一页</span>";
}else{
prevli.className=this.prevLiClassName;
prevli.innerHTML="<a onclick=\"if("+ preDoName +"!=undefined&&!"+ preDoName +"()) return false;MyPager.H_goPage(this,'"+ url +"',"+ this.lastPage + ",'"+ this.nowPIN + "_" + MypagerId +"',"+(this.nowPage-1)+");\" href=\"#\"><span>上一页</span></a>";
}
pagerul.appendChild(prevli);
//下一页
var nextli = document.createElement('li');
if(this.nowPage==this.lastPage||this.itemTotal==0){
nextli.className=this.nextLiClassName+" "+this.disableLiClassName;
nextli.innerHTML="<span>下一页</span>";
}else{
nextli.className=this.nextLiClassName;
nextli.innerHTML="<a onclick=\"if("+ preDoName +"!=undefined&&!"+ preDoName +"()) return false;MyPager.H_goPage(this,'"+ url +"',"+ this.lastPage + ",'"+ this.nowPIN + "_" + MypagerId +"',"+(this.nowPage+1)+");\" href=\"#\"><span>下一页</span></a>";
}
pagerul.appendChild(nextli);
//最后一页
var lastli = document.createElement('li');
if(this.nowPage==this.lastPage||this.itemTotal==0){
lastli.className=this.lastLiClassName+" "+this.disableLiClassName;
lastli.innerHTML="<span>最后一页</span>";
}else{
lastli.className=this.lastLiClassName;
lastli.innerHTML="<a onclick=\"if("+ preDoName +"!=undefined&&!"+ preDoName +"())return false;MyPager.H_goPage(this,'"+ url +"',"+ this.lastPage + ",'"+ this.nowPIN + "_" + MypagerId +"',"+ this.lastPage+");\" href=\"#\"><span>最后一页</span></a>";
}
pagerul.appendChild(lastli);
//创建hidden input
var hideInput;
try{
hideInput = document.createElement('<input name="'+ this.nowPIN + '">' );
}catch(e){
hideInput=document.createElement("input");
hideInput.name=this.nowPIN;
}
hideInput.type="hidden";
hideInput.id=this.nowPIN + "_" + MypagerId ;
pagination.appendChild(hideInput);
document.write(tem.innerHTML);
};
//创建一个Pager就动态的记录生成的个数
MypagerId++;
};
//执行分页 aEl 链接Object
//nowPINId,表示当前页的隐藏字段的Id
//num 要转到的页
MyPager.H_goPage=function(aEl,url,lastPage,nowPINId,num){
if(num>lastPage||num<1) {alert("你访问的页不存在!"); return false;}
//根据el得到所在的form
var par=aEl.parentNode;
var nowTagN=par.tagName.toLowerCase();
while(nowTagN!="form" && par!=null && nowTagN !="body"){
par=par.parentNode;
if(par!=null)
nowTagN=par.tagName.toLowerCase();
}
if(par==null||nowTagN=="body"){
alert("Error!请把分页控件的创建脚本,放到表单中!");
return false;
}
var inpN=document.getElementById(nowPINId);
inpN.value=num;
if(url!=""&&url!=undefined&&url!='undefined'){
par.action=url;
}
par.submit();
}
MyPager.css
--------------------------------------------------------------------------------------------------------------
.pagination {
margin:0 auto;
padding:20px 10px;
width:600px;
}
.pagination .page-info {
float:left;
font-weight:bold;
margin-right:5px;
padding:0px 0 3px;
}
.pagination .page-control {
float:left;
font-weight:bold;
}
.pagination ul, .pagination ul li {
margin:0;
padding:0;
}
.pagination .page-control li {
float:left;
margin-right:5px;
padding-left:10px;
list-style:none outside none;
}
.pagination .page-control li {
color:#666666;
}
.pagination .page-control li a:link,.pagination .page-control li a:visited
{
color:#000000;
text-decoration:none;
}
.pagination .page-control li a:hover{
color:#00CCFF;
text-decoration:none;
}
-------------------------------------------------------------
demo
base.html
-------------------------------------------------------------
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Mypager 基本使用方法</title>
<script type="text/javascript" src="common/MyPager.js"></script>
<link href="common/MyPager.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form>
<script type="text/javascript">
new MyPager(15,10,1).init();
</script>
</form>
<div>
<h3>我的博客</h3>
<hr />
<a href="http://blog.csdn.net/weirhp">http://blog.csdn.net/weirhp</a><br />
<a href="http://hi.baidu.com/weirhp">http://hi.baidu.com/weirhp</a>
</div>
</body>
</html>
分享到:
相关推荐
自己写的一个js分页控件.已经封装,可以直接使用. 适合各种用途的分页控制. 如果界面不够美观,只需要修改css即可.
"超漂亮分页控件"、"自定义分页控件"以及"灵活的分页控件"这些标签表明我们将探讨一个美观且功能丰富的分页解决方案,它可能支持个性化定制,以适应各种项目需求。 首先,让我们了解一下分页的基本原理。分页是将...
这里提到的"JS分页控件+CSS"是一个针对网页分页功能的解决方案,结合了JavaScript(JS)和层叠样式表(CSS)的技术。下面我们将深入探讨这两个关键组成部分以及它们如何协同工作。 **JS分页控件** JavaScript是一...
- **JavaScript**:常见的库如jQuery UI、Bootstrap、AngularJS和Vue.js都提供了分页组件。 - **PHP**:例如Laravel框架内置了分页功能,可以轻松实现。 - **Java**:Spring Boot框架提供了Pageable接口和Page对象,...
本文将详细介绍JavaScript(JS)实现的分页控件及其与CSS样式的结合应用。 一、JS分页控件的基本原理 JS分页控件主要是通过JavaScript来动态生成分页按钮,并处理用户点击分页按钮时的事件,以实现页面内容的切换。...
- **自定义分页**:用户可以自由设定每页显示的记录数,并提供多种分页样式,如简单、详细和导航按钮等。 - **数据过滤与排序**:支持行内过滤和排序,使用户能快速找到所需信息。 - **数据绑定**:控件能够轻松...
下面是一个简单的自定义分页控件实现步骤: 1. 创建一个新的Windows Forms项目。 2. 在Form上添加必要的控件,如两个Button(上一页、下一页)、一个Label(当前页码)、一个Label(总页数)、一个TextBox(用户...
在IT领域,分页控件是一种常见的用户界面组件,它用于在大量数据中提供高效的浏览体验,避免一次性加载所有数据导致的性能问题。本话题主要围绕一个自定义分页控件进行讨论,这个控件具备处理`DataTable`和SQL查询的...
"简单分页控件c#"指的是在C#环境中实现的一种轻量级、易于使用的分页组件。 分页控件的基本工作原理是通过限制一次显示的数据量来避免一次性加载大量数据,从而减少服务器负担和提高页面加载速度。以下是一些关于...
在.NET框架中,分页控件是Web应用程序中不可或缺的一部分,它用于处理大量数据的显示,提高用户体验。本文将深入探讨.NET自定义分页控件的设计与实现,以及它的优势和应用。 首先,分页控件是数据展示的核心组件,...
本篇文章将详细探讨“C#超级好用的分页控件”的核心概念、实现原理以及其在实际项目中的应用。 首先,我们要明白什么是分页控件。分页控件是Web应用中一种常见的用户界面组件,主要用于展示大数据集时进行分段显示...
在Windows Forms(WinForms)开发中,为了处理大量数据并提高用户界面的可读性和交互性,常常会使用分页控件。标题“winfrom 分页控件”指的是在WinForms应用程序中实现分页功能的控件。这个控件允许用户以较小的...
"C#分页控件,简单好用"这个标题恰好揭示了我们要讨论的核心——如何在C# WinForm应用中实现一个简单易用的分页功能。描述中的链接提供了一个具体的实例,通过访问可以获取更详细的操作步骤。 首先,理解分页控件的...
yPager分页控件 正式推出第一个版本 T 1.1.5 <br> 开发环境:VS2003+Windows2003 概述:一款采用URL进行分页的控件,支持在Vs模式下进行调试,支持Repeater,DataList,DataGrid等控件 是否开源:是...
在Windows Forms(WinForm)应用开发中,分页控件是一种常见的用户界面元素,它用于在大量数据中实现浏览和导航。本项目提供了一个通用的WinForm分页控件的Demo,供开发者学习和参考。下面我们将深入探讨WinForm分页...
在Android开发中,分页控件是不可或缺的一部分,它能够帮助用户更有效地浏览大量数据,同时减轻服务器压力。本教程将深入探讨如何在Android中创建一个自定义分页控件,以便实现高效、用户友好的界面。 首先,我们...
提供的“WindowsApplication2”可能是一个包含分页控件和DataGridView的简单Windows Forms应用示例。测试程序的作用是验证分页控件的正确性,确保在不同场景下(如切换页码、更改每页大小等)都能正常工作。测试...
在.NET开发环境中,C# WinForm应用经常需要处理大量数据,这时自定义分页控件显得尤为重要。"C# Winform+devexpress 自定义分页控件"是为了解决这个问题而设计的一种解决方案,它利用DevExpress组件库的强大功能,...
在C# WPF(Windows Presentation Foundation)开发中,分页控件是常用的数据展示组件,尤其在处理大量数据时,可以提高应用的性能和用户体验。本篇将详细讲解C# WPF分页控件的核心概念、实现方式以及如何实现自定义...
在.NET开发中,分页控件是不可或缺的一部分,尤其是在处理大量数据时,它能帮助用户高效地浏览和操作数据。`.NET` 提供了多种分页控件,其中包括 `Aspnetpager` 分页控件,它以其强大的功能和美观的界面而受到开发者...