`
gogole_09
  • 浏览: 205536 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

jQuery插件--分页插件

阅读更多

  之前有在javaeye上看到使用jQuery插件来解决分页的方案,此处记录一下。

  具体知识点,请看代码注释。

  先上图先:

 

   首先来看一下页面调用:

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>分页插件</title>
		<link rel="stylesheet" href="page.css"/>
		<script type="text/javascript" src="jquery-1.2.6.js"></script>
		<script type="text/javascript" src="jquery.page.js"></script>
		<script type="text/javascript">			
			$(document).ready(function(){
				 //选择渲染地点,然后调用,传入中页数,可以与服务器端很好结合
			$('#mypaget').mypage(10112,{
				callback:function(page){
					$('#result').html("<font>回调函数-----您选择了第"+page+"页</font>");
				}
			});
		});
		</script>
	</head>
	<body>
	<div id="mypaget" class="mypage"></div>
	<div id="result" class="mypage"></div>
	</body>
</html>

 

   插件具体实现代码:

 

$.fn.mypage = function(totalProperty, opts){
	//这里是插件实现的另一种方式 
    //$.extend 用于扩展自身方法
    opts = $.extend({
        perPage: 10,
        callback: function(){
        }
    }, opts ||
    {});
    
    return this.each(function(){
        /*计算总共页数*/
        function pagenum(){
            return Math.ceil(totalProperty / opts.perPage);
        }
        
        
        /*选定第几页*/
        function selectPage(page){
            return function(){
                currPage = page;
                if (page < 0) 
                    currPage = 0;
                if (page >= pagenum()) 
                    currPage = pagenum() - 1;
                
                render();
                
                $('img.page-wait', panel).attr('src', 'image/wait.gif');
                opts.callback(currPage + 1);
                $('img.page-wait', panel).attr('src', 'image/nowait.gif');
                
            }
        }
        
		
        /*渲染操作*/
        function render(){
            var html = '<table><tbody><tr>' +
            '<td><a href="#"><img class="page-first"></a></td>' +
            '<td><a href="#"><img class="page-prev"></a></td>' +
            '<td><span>第<input type="text" class="page-num">页/共' +
            pagenum() +
            '页</span></td>' +
            '<td><a href="#"><img class="page-next"></a></td>' +
            '<td><a href="#"><img class="page-last"></a></td>' +
            '<td><img src="images/nowait.gif" class="page-wait"></td>' +
            '<td><span style="padding-left:50px;">检索到' +
            totalProperty +
            '记录</span></td>' +
            '</tr></tbody></table>';
            
            
            var imgfirst = 'image/page-first-disabled.gif';
            var imgnext = 'image/page-next-disabled.gif';
            var imgprev = 'image/page-prev-disabled.gif';
            var imglast = 'image/page-last-disabled.gif';
            
            if (currPage > 0) {
                imgfirst = 'image/page-first.gif';
                imgprev = 'image/page-prev.gif';
            }
            
            if (currPage < pagenum() - 1) {
                imgnext = 'image/page-next.gif';
                imglast = 'image/page-last.gif';
            }
            
            panel.empty();
            panel.append(html);
            
            /*添加相应的属性,绑定分页事件*/
            $('img.page-first', panel).bind('click', selectPage(0)).attr('src', imgfirst);
            
            $('img.page-next', panel).bind('click', selectPage(currPage + 1)).attr('src', imgnext);
            
            $('img.page-prev', panel).bind('click', selectPage(currPage - 1)).attr('src', imgprev);
            
            $('img.page-last', panel).bind('click', selectPage(pagenum() - 1)).attr('src', imglast);
            
            $('input.page-num', panel).val(currPage + 1).change(function(){
                /*调用选择页面方法,将当前的参数传入进去*/
                selectPage($(this).val() - 1)();
            });
            
        }
        var currPage = 0;
        var panel = $(this);
        render();
    });
    
}

 

  • 大小: 4.2 KB
分享到:
评论

相关推荐

    jquery插件-文章分页插件

    在这个场景中,"jquery插件-文章分页插件"是一个专门为jQuery设计的轻量级组件,用于实现文章或内容的分页功能。 首先,我们来详细了解一下jQuery插件的基本结构和工作原理。jQuery插件通常是一个函数,该函数接收...

    jquery插件--表格分页

    本篇文章将深入探讨jQuery插件在实现表格分页中的应用及其相关知识点。 一、jQuery和表格分页基础 1. jQuery简介:jQuery是由John Resig创建的一个轻量级的JavaScript库,它的目标是使JavaScript编程变得更加简单...

    jquery分页插件-内有演示说明

    **jQuery分页插件**是Web开发中常用的一种工具,用于在大量数据中实现高效的页面导航,提升用户体验。本资源包含一个演示说明,使得理解和应用变得更加直观和简单。以下将详细解析jQuery分页插件的核心知识点及其...

    JQUERY插件--ajax搜索

    **jQuery 插件:Ajax 搜索技术详解** 在现代网页开发中,实时、无刷新的用户体验已经成为提升网站质量的关键因素之一。jQuery 插件利用 Ajax(异步 JavaScript 和 XML)技术,可以实现在用户输入时动态搜索并显示...

    jquery插件--表格树--GridTree(后台分页版本20091018)(过期)

    《jQuery插件——表格树GridTree(后台分页版本20091018)详解》 在Web开发中,展示数据的方式多种多样,其中表格由于其清晰、直观的特点,被广泛应用于数据呈现。然而,当数据量较大时,单纯的表格可能会显得过于...

    jquery分页-支持中文

    2. **jQuery插件结构**:理解jQuery插件的编写方式,通常包括一个函数,通过$.fn.extend()将功能扩展到jQuery对象上。这样,你可以通过"$()"选择器调用插件方法。 3. **分页逻辑**:分页涉及到计算总页数、当前页,...

    jquery插件-实现全国各地高校查询.zip

    本项目“jquery插件-实现全国各地高校查询”是利用jQuery的强大力量来创建一个功能,允许用户方便地查找并获取中国各地的高校信息。 首先,我们需要了解jQuery插件的基本结构。一个基本的jQuery插件通常包括两个...

    jquery分页插件-JqueryPagination.zip

    **jQuery Pagination 分页插件详解** 在Web开发中,数据量过大的页面通常需要实现分页功能,以提高用户体验和加载速度。jQuery Pagination是一款轻量级、易用的前端分页插件,它能帮助开发者快速实现高效且美观的...

    jquery插件--表格树--GridTree(20091011更新版本)(过期)

    《jQuery插件——表格树GridTree详解》 在网页开发中,数据的展示方式多种多样,其中表格和树形结构是常见的两种。当这两种元素结合在一起时,就形成了表格树,这种布局方式既能清晰地展示层次关系,又能有效利用...

    jQuery分页插件pagination.js

    **jQuery分页插件pagination.js** 是一个广泛应用于网页数据分页的JavaScript库,它基于强大的jQuery框架构建,为开发者提供了高效、灵活的分页解决方案。分页是Web应用程序中常见的功能,特别是在处理大量数据时,...

    z-pager.js分页插件.zip

    2. jQuery插件:`z-pager.js`是基于jQuery库的插件,利用jQuery强大的DOM操作能力和事件处理能力,简化了分页功能的实现。 二、插件引入 要使用`z-pager.js`分页插件,首先需要在HTML文档中引入以下两个文件: 1....

    jQuery-Paging动态分页数据获取插件

    jQuery-Paging是一款强大的JavaScript插件,专为网页中的动态数据分页设计,它极大地简化了在Web应用中处理大量数据的展示方式。该插件基于流行的JavaScript库jQuery构建,提供了直观且用户友好的分页体验,同时具备...

    jQuery-Paging动态分页数据获取插件.zip

    jQuery-Paging是一款基于JavaScript库jQuery的轻量级分页插件,它的主要功能是将大量数据分割成多页显示,提供友好的用户交互。通过简单的配置和调用,开发者可以快速集成到项目中,实现动态加载数据的效果。 二、...

    jquery mobile分页显示插件

    5. **自定义样式**:jQuery Mobile 分页插件支持自定义样式,你可以通过修改 CSS 样式来自定义分页按钮的外观,如颜色、大小、边框等。 6. **事件处理**:插件通常提供一些事件,如 `pagechange` 或 `pagereset`,...

    jQuery 下拉框插件-带列表,带输入,快速查找及结果分页展示的多功能选择器

    强大的jquery下拉框插件 下拉框展示带列表分页功能,适合下拉框大量数据展示 下拉框带快速查找,可以快速筛选 支持多选 基于jQuery、Bootstrap2、3开发 也可应用于无任何UI框架的原生HTML环境 Autocomplete输入自动...

    jquery分页插件结合jsp实例

    在分页场景中,jQuery插件可以提供友好的用户界面和动态效果。 `jPagination`是一款流行且易于使用的jQuery分页插件,它提供了多种自定义选项,如每页显示的记录数、样式、回调函数等,帮助开发者快速实现分页功能...

    jQuery插件集之(分页插件)初学者必备+Demo

    本篇将深入讲解"jQuery插件集之(分页插件)",适合初学者入门学习。这个插件不仅提供了分页的基本功能,还具有易于理解和配置的特点,以及三种不同的样式供选择。 首先,我们需要了解jQuery插件的基本结构。一个...

    简单的jQuery分页插件下载.zip

    **jQuery分页插件简介** 在网页开发中,分页是一种常见的数据展示方式,它能够帮助用户有效地浏览大量数据,避免一次性加载过多内容导致页面响应变慢或内存消耗过大。jQuery是一个轻量级的JavaScript库,它简化了...

    jQuery插-pagination_分页插件.rar

    2. 初始化分页: 使用jQuery选择器找到需要添加分页的元素,然后调用pagination插件的方法进行初始化,传入必要的配置参数,如每页显示的记录数、总记录数等。 3. 绑定事件: 为分页控件的“点击”事件绑定处理函数,...

Global site tag (gtag.js) - Google Analytics