`

做个简单的分页导航

 
阅读更多

     参考论坛上的分页样式,想给自己网页加上如下样式;

 

     思考制作如此导航样式,

需要后台的参数为:

pageinfo包含curpage,totalpage

导航本身的参数:

autopagenum:导航中间选项个数。

 

       在js中进行导航模块的生成,

然后将导航模块通过追加子节点的方式输出到页面。

在jsp中加入用于接收分页导航的<DIV>

<!-- 分页导航部分  -->
<div class="borspan">				
<a id="autopbn" href="javascript:;"style="display:none" recordnum="${pageSupport.recCount }" curpage="${pageSupport.currPageNo }"  totalpage="${pageSupport.totalPageCount }"></a>
</div>

 

    在js中:

 

    //带查询条件的跳转
    function jump_to(num){
    	$("#pageIndex").val(num);
    	$("#queryName").val($("#rqueryName").val());
    	$("#queryForm").submit();
    }
    
(function (){
	var $borspan = $(".borspan");
	var $autopbn = $("#autopbn");
	var recordnum = parseInt($autopbn.attr("recordnum"));
	var curpage = parseInt($autopbn.attr("curpage"));
	var totalpage = parseInt($autopbn.attr("totalpage"));
	//导航标签的个数,只考虑奇数
        var pagenavnum = 5;
	//borspan分页导航栏
	getPagenav();
	
	function getPageNumberStr(i,pageIndex) {     
		var $obj = null;
		if (i == pageIndex){
			$obj = $("<strong>"+pageIndex+"</strong>");
        }else{
        	$obj = $("<a href='javascript:jump_to("+i+");'>"+i+"</a>");
        }
		return $obj;
    }
	function getPagenav() {
		//上一页,下一页,跳转节点
		var $pageinfo = $("<span>共"+recordnum+"条记录&nbsp;</span>");
		var $prev = $("<a href='javascript:jump_to("+(curpage-1)+");'>&laquo;</a>");
		var	$next = $("<a href='javascript:jump_to("+(curpage+1)+");'>&raquo;</a>");
		var $custompage = $("<label><input name='custompage' class='px' size='2' title='输入页码,按回车快速跳转' onkeydown='if(event.keyCode==13){jump_to(this.value);}' type='text'><span title='totalpage'>/ "+totalpage+"页</span></label>");
		//头部分页信息详情
		$borspan.append($pageinfo);
		//上一页标签
		if(curpage>1){
			$borspan.append($prev);
		}
		//排除1..34567情况;例如pagenavnum:5,totalpage:6
		if(totalpage <= pagenavnum+1){
			for (var j = 1; j <= totalpage; j++){
            	$borspan.append(getPageNumberStr( j, curpage));
             }
         }else{
        	 //只考虑pagenavnum为奇数的情况,比如为5
        	 var autopagenum = (pagenavnum+1)/2;
        	 //左右两边页码,理论值
        	 var minpage = curpage - (autopagenum - 1);//-1
        	 var maxpage = curpage + (autopagenum - 1);//3
        	 //如果当前项导航块左边>2,并且右边< autopagenum-1
        	 if(minpage > 2 && maxpage < (totalpage-1)){		
        		 	$borspan.append("<a href='javascript:jump_to(1);'>1..</a>");
                	for (var j = minpage; j <= maxpage; j++){
                		$borspan.append(getPageNumberStr( j, curpage));
                    } 
                	$borspan.append("<a href='javascript:jump_to("+totalpage+");'>.."+totalpage+"</a>");
        	 }else if(minpage < 3){//如果当前项导航块左边<=2,全部为eg:12345 ..n
        		 for (var j = 1; j <= pagenavnum; j++){
        			 $borspan.append(getPageNumberStr( j, curpage));
                 }
        		 $borspan.append("<a href='javascript:jump_to("+totalpage+");'>.. "+totalpage+"</a>");
        	 }else if(maxpage >= (totalpage-1)){//如果当前项导航块右边>
        		 $borspan.append("<a href='javascript:jump_to(1);'>1 ..</a>");
            	 for (var j =(totalpage-pagenavnum+1); j <= totalpage; j++){
            		 $borspan.append(getPageNumberStr( j, curpage));
                 } 
        	 } 
         }
		//下一页标签
		if(curpage<totalpage){
			$borspan.append($next);
		}
		//尾部跳转
		$borspan.append($custompage);
	}
}

 

    加上样式

 

/* 分页导航样式 */
.borspan{
    padding: 0;
    margin: 0;
    line-height: 26px;
}
.borspan a,.borspan strong,.borspan label{
    display: inline;
    margin-left: 4px;
    padding: 5px 8px;
    height: 26px;
    border: 1px solid;
    border-color: #C2D5E3;
    background-color: #FFF;
    color: #333;
    overflow: hidden;
    text-decoration: none;
}
.borspan strong{
	background-color: #E5EDF2;
}
.borspan label{
	cursor: text;
}
.borspan label .px{
	margin-top: 3px;
	padding: 0;
	width: 25px;
	height: 16px;
	line-height: 16px;
	border-color: #848484 #E0E0E0 #E0E0E0 #848484;
	background: #FFF;
}

 

   最后得到的样式如下:



 

  • 大小: 2.5 KB
  • 大小: 1.1 KB
分享到:
评论

相关推荐

    基于angular.js的分页导航

    本教程将深入探讨如何使用AngularJS实现一个功能完备的分页导航条。 一、AngularJS基础知识 AngularJS的核心特性包括数据绑定、依赖注入、指令系统、过滤器等。在分页导航中,我们将主要利用数据绑定和指令来实现...

    基于QT的导航栏分页显示

    在本文中,我们将深入探讨如何使用QT框架,特别是其QML(Qt Meta Language)部分,来实现一个功能完善的导航栏分页显示系统。QML是QT的一种声明式语言,它使得构建用户界面变得直观且高效。 首先,让我们理解QT框架...

    js端 分页导航条

    这里提供了一个简单的示例代码,用于演示分页导航条的核心功能。实际项目中,你需要根据具体需求和所使用的库(如jQuery、React、Vue等)进行调整。 ```javascript // 假设已有dataTotal和currentPage let ...

    html5分页导航按钮样式动画特效.zip

    在这个“html5分页导航按钮样式动画特效.zip”压缩包中,包含了17种不同的垂直分页按钮动画特效,这些都是利用HTML5、CSS3以及可能的JavaScript技术实现的。 首先,我们要理解分页导航在网页设计中的作用。它主要...

    asp超简单分页例子

    5. **分页导航**:计算总页数,创建链接或按钮来让用户导航到其他页面。这通常涉及到对总记录数的求和,以及除以每页记录数。 ```vbscript Dim totalRows, totalPages totalRows = rs.RecordCount totalPages = ...

    mybatis逻辑分页,含分页导航

    在提供的`pagination-demo`压缩包中,可能包含了一个完整的MyBatis分页示例,包括了XML映射文件、Java代码以及如何在前端展示分页导航的示例。通过研究这个示例,可以更直观地理解和掌握MyBatis的分页技巧。

    PHP分页导航

    在网页开发中,当数据量较大时,分页导航是一个必不可少的功能,它使得用户能够方便地浏览和查找大量信息,而不会一次性加载所有内容导致页面响应慢或浏览器卡顿。PHP作为广泛使用的服务器端脚本语言,提供了实现...

    ASP.NET分页导航代码

    在这个"ASP.NET分页导航代码"项目中,我们可以深入探讨如何在ASP.NET环境中实现高效且自定义的分页功能。 首先,让我们了解分页的基本原理。在ASP.NET中,分页通常涉及到数据访问层(DAL)、业务逻辑层(BLL)和...

    WordPress分页导航插件

    `WordPress分页导航插件`是解决这个问题的一种高效工具,它能优雅地将长内容列表分成多个页面,提升用户体验。在本文中,我们将深入探讨WordPress分页导航插件的功能、作用,以及如何使用`wp-pagenavi`这个具体的...

    struts做的一个简单的分页功能

    在这个"struts做的一个简单的分页功能"项目中,我们主要关注的是如何在Struts中实现分页功能,这在处理大数据集时非常常见,可以提升用户体验。 1. **分页基础概念**:分页是一种用户界面技术,用于将大量数据分成...

    javaweb分页简单分页

    本教程将详细介绍如何实现一个简单的分页功能。 首先,理解分页的基本概念。分页通常包括两个主要部分:当前页数和每页显示的数据量。用户可以通过点击页码或使用导航按钮来改变这些值。在JavaWeb应用中,我们可以...

    js实现简单分页导航栏效果

    在这篇文章中,我们将深入探讨使用JavaScript实现简单分页导航栏效果的技术细节和实现方法。分页功能是在Web开发中常见的需求,尤其是当数据量较大时,将数据分批次加载能够有效提升用户体验,并减轻服务器压力。...

    WPF简单的DataGrid分页

    接下来,我们还需要提供导航分页的界面元素,如“上一页”、“下一页”的按钮。这些按钮的点击事件应该更新`PagedCollectionView`的`PageIndex`属性: ```csharp private void PreviousPage_Click(object sender, ...

    jquery分页,最简单分页,完整分页案例,50种分页样式

    本资源包含“最简单分页”至“50种分页样式”的完整案例,为开发者提供了丰富的选择,可以满足各种项目需求。 **jQuery分页基本原理** jQuery分页主要通过JavaScript来实现页面内容的动态加载和切换。它根据服务器...

    jsp servlet 简单分页实现

    7. **样式和交互**:最后,可以使用CSS来美化分页导航,确保其在不同屏幕尺寸下都有良好的用户体验。还可以添加JavaScript来监听点击事件,实现无刷新分页。 在提供的压缩包文件"paging"中,可能包含了示例代码、...

    jsp简单分页功能实现

    3. **显示分页导航**:在页面底部或顶部,我们需要提供一个分页导航栏,展示页码并允许用户跳转到其他页面。这通常包括“上一页”、“下一页”按钮和当前页码附近的页码链接。 4. **处理用户请求**:当用户点击页码...

    使用js实现简单分页

    同时,生成分页导航条,包括“上一页”、“下一页”按钮以及页码选择器。 4. **事件监听**:添加事件监听器,当用户点击分页按钮时,更新当前页数并重新执行数据处理和视图渲染。 5. **优化用户体验**:考虑分页...

    新手学习可前端分页,前端分页,简单的前端分页,html分页,html前端分页

    然后,创建一个分页导航栏,通常包括上一页、下一页和页码按钮。当用户点击页码或导航按钮时,JavaScript会更新显示的数据段,并保持UI的即时响应。 HTML分页主要涉及两部分:一是数据展示区域,二是分页导航。在...

    asp超简单分页显示

    最后,遍历记录集`rs`并在页面上显示数据,同时提供分页导航链接: ```vbscript Do Until rs.EOF ' 显示数据... rs.MoveNext Loop ' 计算总页数 Dim totalRecords, totalPages totalRecords = rs.RecordCount ...

    20.Bootstrap面包屑导航和分页导航.rar

    在"20.Bootstrap面包屑导航和分页导航.rar"这个压缩包中,包含了一个视频教程"20.Bootstrap面包屑导航和分页导航.mp4"以及一个可能的演示文稿"PPT演示文稿.ppt"。这些资源旨在教你如何在C#开发的网站中有效地使用...

Global site tag (gtag.js) - Google Analytics