<div class="sub_menus module-manager"> <div class="module-list"> <table class="list" id="tab_mod"> <tr class="t_title"> <th class="col-1">序号</th> <th class="col-2">模块名</th> <th class="col-3">价格</th> <th class="col-4">购买时间</th> </tr> </table> </div> <div id="pager1" class="pager"></div> </div>
jquery.page.js分页类 js对象解决同一个方法在页面引入多次报错问题(调用:对象.方法)
/** * table分页类 * author phoenix * date 2013-12-17 * 示例: var page = new Page({ url:'busimodules.php', //获取分页的数据 issort: true, //是否显示排序序号 pageSize:4, //每页显示的条数 name:'page', //该值必须和实例化对象一样,如果创建多个实例的话实例名称不能相同 fileds:['mname', 'price', 'buytime'], //要显示的字段,必须和url参数:busimodules.php的返回值一致 tabcontainer: 'tab_mod',//表格id navcontainer: 'pager1' //翻页导航显示的id }); var page3 = new Page({ url:'busimodules.php', name:'page3', pageNavFun:'getPageBar2', pageSize:12, callback:function (jsondata, navstr) {} }); * busimodules.php返回json数据格式: {"total":6,"pageSize":3,"curPage":1,"totalPage":2,"data":[{"mname":"\u8d2d\u7269\u8f66","price":"10.00","buytime":"2013-12-16 13:40:23"},{"mname":"\u6536\u85cf","price":"10.00","buytime":"2013-12-16 13:40:16"},{"mname":"\u8ba2\u5355","price":"10.00","buytime":"2013-12-16 13:40:10"}]} 如果要将返回结果自己处理,可以在参数name的后面加上参数callback:function (jsondata, navstr) {处理逻辑} 后面的tabcontainer等参数就都没有用了 * */ var Page = function (options) { var defaults = { navNum:10, navOffset:1, pageSize:3, data:{}, pageNavFun:'getPageBar', issort:false }; this.options = $.extend({}, defaults, options); if(!this.options.url) {return false;} if(!this.options.name) {return false;} if(!this.options.callback) { if(!this.options.tabcontainer) {return false;} if(!this.options.navcontainer) {return false;} if(!this.options.fileds || this.options.fileds.length < 1) {return false;} } this.init(); } Page.prototype.init = function () { this.getPageData(1); } /** * 获取对应页数据 * p表示当前页数 * 返回当前页的数据,和导航数据 */ Page.prototype.getPageData = function (p) { $this = this; if (!p) p = 1; ajaxSendData = 'pagesize=' + $this.options.pageSize + '&p=' + p; $.each($this.options.data, function (name, val) { ajaxSendData += "&" + name + "=" + val; }); $.ajax({ type:'POST', url:$this.options.url + "?t=" + Math.random(), data:ajaxSendData, async:false, dataType:'JSON', success:function (obj) { var navstr = eval($this.options.pageNavFun + "(obj, $this.options)"); var data = obj.data; if ($this.options.callback) { $this.options.callback(data, navstr); } else { var html = ''; var shtml = ''; for (var i = 0; i < data.length; i++) { if ($this.options.issort) { shtml = '<td class="col-1">' + ($this.options.pageSize * (p - 1)-0 + (i + 1)) + '</td>'; } html += '<tr>' + shtml; var k = 1; if (shtml != '') { k = 2; } for (var j = 0; j < $this.options.fileds.length; j++) { html += '<td class="col-' + k + '">' + data[i][$this.options.fileds[j]]; k++; } html += '</tr>'; } if (!$('#' + $this.options.tabcontainer).find('tr:eq(1)')[0]) { $('#' + $this.options.tabcontainer).append(html); } else { $('#' + $this.options.tabcontainer).find('tr:gt(0)').remove(); $('#' + $this.options.tabcontainer).append(html); } $('#' + $this.options.navcontainer).html(navstr); } } }); } function getPageBar(obj, opt) { if (!obj) return false; curPage = parseInt(obj.curPage, 10); if (curPage > obj.totalPage) { curPage = obj.totalPage; } if (curPage < 1) { curPage = 1; } if (curPage <= parseInt(opt.navNum / 2, 10)) { opt.navOffset = 1; } else { opt.navOffset = curPage - parseInt(opt.navNum / 2, 10); } var prev = next = 0; var startnav = endnav = ''; if (curPage == 1) { startnav = '<li class="paging_btn previous">首页</li> <li class="paging_btn previous">上页</li>'; } else { prev = curPage - 1; startnav = '<li class="paging_btn previous" onclick="javascript:' + opt.name + '.getPageData(1);">首页</li> <li class="paging_btn previous" onclick="javascript:' + opt.name + '.getPageData(' + prev + ');">上页</li>'; } if (curPage == obj.totalPage || obj.totalPage == 0) { endnav = '<li class="paging_btn next">下页</li> <li class="paging_btn next">末页</li>'; } else { next = curPage + 1; endnav = '<li class="paging_btn next" onclick="javascript:' + opt.name + '.getPageData(' + next + ');">下页</li> <li class="paging_btn next" onclick="javascript:' + opt.name + '.getPageData(' + obj.totalPage + ');">末页</li>'; } var amongNav = ''; for (var i = opt.navOffset; i < opt.navOffset + opt.navNum; i++) { if (i == curPage) { amongNav += '<li class="paging_btn num checked">' + i + '</li>'; } else { amongNav += '<li class="paging_btn num" onclick="javascript:' + opt.name + '.getPageData(' + i + ');">' + i + '</li>'; } if (i >= obj.totalPage) break; } var jump = '<input type="text" name="page" class="jump_page" id="jump_page" maxlength="4" />'; jump += '<input type="button" class="jump_btn" id="jump_btn" value="go" />'; return startnav + amongNav + endnav + jump; }
JS面向对象编程之对象访问控制实例
function Cat(name, age){ var name = name; this.age = age||1; this.setName = function(sName){ this.name = sName; } this.getName = function(){ return this.name; } this.setAge = function(nAge){ this.age = nAge; } this.getAge = function(){ return this.age; } } Cat.prototype.say = function(){ console.log('I am '+this.name+', I am '+this.age); } var kk = new Cat('kk'); console.log(kk.name);//undefined @private kk.setName('deeka'); console.log(kk.getName()); // deeka kk.setAge(2); console.log(kk.getAge()); // 2 kk.age = 3; console.log(kk.age);//3 @public kk.say(); // I am deeka, I am 3
相关推荐
**jQuery AJAX分页技术详解** 在Web开发中,分页是一种常见的数据展示方式,它能够有效地组织大量数据,提高页面加载速度,优化用户体验。jQuery,一个轻量级、功能丰富的JavaScript库,结合AJAX(异步JavaScript和...
**jQuery AJAX 分页详解** 在Web开发中,为了提高用户体验,我们经常需要处理大量数据时实现分页功能。jQuery作为一个轻量级、功能强大的JavaScript库,提供了与服务器...希望本文能帮助你理解和实施jQuery AJAX分页。
`jQuery Pagination Plugin`是针对jQuery设计的一个Ajax分页插件,用于实现高效且用户友好的分页功能。 ### jQuery分页插件的基本概念 1. **Ajax**:异步JavaScript和XML,允许页面与服务器进行通信,更新部分页面...
**jQuery AJAX 分页技术在前端应用详解** 在Web开发中,分页是一种常见的用户界面功能,用于处理大量数据的展示,提高页面加载速度并优化用户体验。本篇文章将深入探讨如何利用jQuery和AJAX技术实现纯前端的分页...
通过以上步骤,我们可以实现一个基本的jQuery + AJAX分页功能。在实际项目中,根据需求可能还需要考虑更多细节,如分页大小的调整、搜索和排序功能的集成等。总的来说,jQuery与AJAX的结合极大地提高了Web应用的交互...
在Web开发中,jQuery AJAX分页插件是一种用于实现网页数据动态加载的工具,它可以显著提升用户体验,尤其是在处理大量数据时。本篇文章将深入探讨jQuery AJAX分页插件的工作原理、实现方式以及如何使用。 首先,...
**jQueryPager:基于JQuery的Ajax分页插件Pagination实现** 在Web开发中,当数据量庞大时,分页是一种常见的优化用户体验的方式。jQueryPager是一款轻量级的jQuery分页插件,它允许开发者通过Ajax无刷新的方式实现...
在网页开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理和Ajax交互。本示例主要关注jQuery结合Ajax实现的分页功能,这种技术允许用户在不刷新整个页面的情况下加载新的内容,提高了...
要实现jQuery AJAX分页,我们首先需要在前端创建一个HTML结构,用于展示数据并包含分页链接或按钮。这些链接通常会触发AJAX事件。例如,我们可以使用以下代码创建分页链接: ```html <ul id="pagination"></ul> ```...
**jQuery Ajax分页插件.Net示例** 在Web开发中,分页是一种常见的用户界面功能,用于处理大量数据。jQuery是一个流行的JavaScript库,它提供了一系列API来简化DOM操作、事件处理以及与服务器的异步通信。jQuery ...
【简单的JqueryAjax分页】知识点详解 在Web开发中,分页是一种常见的用户界面功能,用于处理大量数据的展示,提高网页加载速度并优化用户体验。本教程将深入讲解如何利用jQuery和Ajax技术来实现一个简单的分页系统...
而`jquery_paginator`是一款基于jQuery的Ajax分页插件,它允许开发者轻松实现动态加载数据,提高网页性能。 ### 1. jQuery基础知识 理解`jquery_paginator`之前,首先需要了解jQuery的基本概念和用法。jQuery通过...
在描述中提到的"JQuery autocomplete ajax分页",意味着这个实现增加了分页功能。分页是处理大量数据的常用方法,它可以将数据分成多个部分,每次只加载一部分到前端,这样可以减少一次性加载所有数据带来的性能问题...
在给定的标题和描述中,主要涉及两个关键知识点:使用jQuery的AJAX方法读取TXT文件和实现jQuery分页功能。接下来,我们将深入探讨这两个主题。 首先,我们来讨论如何使用jQuery的AJAX方法读取TXT文件。AJAX(异步...
总的来说,基于jQuery的JS+Ajax分页控件通过结合JavaScript和服务器API,实现了无需刷新页面即可动态加载数据的分页功能。这既提高了性能,又提升了用户体验。开发者可以根据实际需求进行定制和扩展,比如增加翻页...
本文主要介绍如何利用PHP、Smarty模板引擎以及jQuery Ajax分页插件jquery.pager.js来实现动态分页功能。 #### 二、准备工作 1. **环境搭建**: - 确保服务器上已安装并配置好PHP环境。 - 安装并配置MySQL数据库...
综上所述,这个"asp+jquery ajax实例源码"展示了如何利用ASP作为服务器端语言处理数据,结合jQuery的AJAX功能,实现无刷新的交互体验,优化用户在添加、删除、修改和分页操作中的浏览感受。通过学习和理解这个实例,...
为了解决这个问题,我们可以利用jQuery、Ajax和JSON技术来实现无刷新分页。这个主题的"asp.net+Jquery+Ajax+Json"压缩包提供了一个完整的示例,展示了如何在ASP.NET中集成这些技术。 首先,jQuery是一个轻量级的...
总结来说,实现Java AJAX分页和JSP分页涉及前后端的协作。前端通过AJAX与后端通信,后端处理请求并从数据库获取数据,然后将数据返回给前端,前端再更新页面内容。这个过程提升了用户体验,使得浏览大数据集变得更加...
为了解决这个问题,我们可以采用基于jQuery的Ajax异步分页技术。本篇文章将详细介绍如何利用jQuery实现Ajax异步分页,以及其背后的原理和实践应用。 首先,让我们理解什么是Ajax。AJAX(Asynchronous JavaScript ...