asp.net mvc ajax分页 CPager(秒杀杨涛ajax分页) 封装之前
2016-07-14 17:50
826 查看
document.addEventListener("DOMContentLoaded", function () { new CPager().start(); }, false); (function () { var MP3 = function () { this.Id = null; this.Singer_Name = null; this.Singer_Sex = null; this.Singer_Type = null; this.Song_Name = null; this.Song_Id = null; this.Lyrics = null; this.Time = null; };//Model window._this = null; window.CPager = function () { this.Table_HeaderName = ["编号", "歌手", "性别", "分类", "音乐名称", "片段标识", "片段歌词", "时间(s)"]; this.list = []; this.as = []; this.asflag = []; this.index = []; this.msg = ""; this.datacount = 0; this.pagecount = 0; //参数 this.TableName = "MP3"; this.PageIndex = 1; this.PageSize = 20; this.Table_ClassName = "tb1 position2"; this.ParentDiv_ClassName = "parent_div position2"; this.ControllerName = "Home"; this.ActionName = "Ajax_Cline"; this.FPNL_ClassName = "fpnl"; this.General_ClassName = "co"; this.Disabled_ClassName = "disabled"; this.Active_ClassName = "active"; this._url = "/Home/Ajax_DataCount"; this.url = "/Home/Ajax_Cline"; //构造字符串 this.TableString = ""; this.PageControlString = ""; }; CPager.prototype = { start: function () { this.create_msg(); _this = this; AJAX(this._url, "post", "TableName=" + this.TableName, this.get_DataCount, false); AJAX(this.url, "post", this.msg, this.ajaxcallback, false); }, create_msg: function () { this.msg = "TableName=" + this.TableName + "&PageIndex=" + this.PageIndex + "&PageSize=" + this.PageSize; }, get_DataCount: function (data) { _this.datacount = data; _this.pagecount = _this.datacount % _this.PageSize == 0 ? _this.datacount / _this.PageSize : _this.datacount / _this.PageSize + 1; }, ajaxcallback: function (data) { var s = data; _this.list = CLine2List(MP3, s); _this.create_TableString(); _this.create_PageControlString(); document.body.innerHTML = _this.TableString + _this.PageControlString; _this.as = FPGC($$("div")[0]); _this.get_asflag(); _this.bing_event(); }, create_TableString: function () { this.TableString += "<table class=\"" + this.Table_ClassName + "\">"; this.TableString += "<tr>"; for (var i = 0; i < this.Table_HeaderName.length; i++) { this.TableString += "<td>" + this.Table_HeaderName[i] + "</td>"; } this.TableString += "</tr>"; for (var i = 0; i < this.list.length; i++) { this.TableString += "<tr>"; this.TableString += "<td>" + this.list[i].Id + "</td>"; this.TableString += "<td>" + this.list[i].Singer_Name + "</td>"; this.TableString += "<td>" + this.list[i].Singer_Sex + "</td>"; this.TableString += "<td>" + this.list[i].Singer_Type + "</td>"; this.TableString += "<td>" + this.list[i].Song_Name + "</td>"; this.TableString += "<td>" + this.list[i].Song_Id + "</td>"; this.TableString += "<td><a href=\"#\">查看</a></td>"; this.TableString += "<td>" + this.list[i].Time + "</td>"; this.TableString += "</tr>"; } this.TableString += "</table>"; this.list = []; }, create_PageControlString: function () { this.PageControlString += "<div class=\"" + this.ParentDiv_ClassName + "\">"; if (this.pagecount <= 10) { if (this.PageIndex == 1) { this.PageControlString += "<a class=\"" + this.FPNL_ClassName + " " + this.Disabled_ClassName + "\">首页</a>"; this.PageControlString += "<a class=\"" + this.FPNL_ClassName + " " + this.Disabled_ClassName + "\">上页</a>"; } else { this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.FPNL_ClassName + "\">首页</a>"; this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.FPNL_ClassName + "\">上页</a>"; } for (var i = 1; i <= this.pagecount; i++) { if (i == this.PageIndex) { this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.General_ClassName + " " + this.Active_ClassName + "\">" + i + "</a>"; continue; } this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.General_ClassName + "\">" + i + "</a>"; } if (this.PageIndex == this.pagecount) { this.PageControlString += "<a class=\"" + this.FPNL_ClassName + " " + this.Disabled_ClassName + "\">下页</a>"; this.PageControlString += "<a class=\"" + this.FPNL_ClassName + " " + this.Disabled_ClassName + "\">尾页</a>"; } else { this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.FPNL_ClassName + "\">下页</a>"; this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.FPNL_ClassName + "\">尾页</a>"; } } else { if (this.PageIndex <= 6) { if (this.PageIndex == 1) { this.PageControlString += "<a class=\"" + this.FPNL_ClassName + " " + this.Disabled_ClassName + "\">首页</a>"; this.PageControlString += "<a class=\"" + this.FPNL_ClassName + " " + this.Disabled_ClassName + "\">上页</a>"; } else { this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.FPNL_ClassName + "\">首页</a>"; this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.FPNL_ClassName + "\">上页</a>"; } for (var i = 1; i <= 10; i++) { if (i == this.PageIndex) this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.General_ClassName + " " + this.Active_ClassName + "\">" + i + "</a>"; else this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.General_ClassName + "\">" + i + "</a>"; } this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.General_ClassName + "\">...</a>"; this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.FPNL_ClassName + "\">下页</a>"; this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.FPNL_ClassName + "\">尾页</a>"; } else { if (this.PageIndex < this.pagecount - 4) { this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.FPNL_ClassName + "\">首页</a>"; this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.FPNL_ClassName + "\">上页</a>"; this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.General_ClassName + "\">...</a>"; for (var i = this.PageIndex - 5; i <= this.PageIndex + 4; i++) { if (i == this.PageIndex) { this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.General_ClassName + " " + this.Active_ClassName + "\">" + i + "</a>"; continue; } this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.General_ClassName + "\">" + i + "</a>"; } this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.General_ClassName + "\">...</a>"; this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.FPNL_ClassName + "\">下页</a>"; this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.FPNL_ClassName + "\">尾页</a>"; } else { this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.FPNL_ClassName + "\">首页</a>"; this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.FPNL_ClassName + "\">上页</a>"; this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.General_ClassName + "\">...</a>"; for (var i = this.pagecount - 9; i <= this.pagecount; i++) { if (i == this.PageIndex) { this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.General_ClassName + " " + this.Active_ClassName + "\">" + i + "</a>"; continue; } this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.General_ClassName + "\">" + i + "</a>"; } if (this.PageIndex == this.pagecount) { this.PageControlString += "<a class=\"" + this.FPNL_ClassName + " " + this.Disabled_ClassName + "\">下页</a>"; this.PageControlString += "<a class=\"" + this.FPNL_ClassName + " " + this.Disabled_ClassName + "\">尾页</a>"; } else { this.PageControlString += "<a href=\javascript:;\" class=\"" + this.FPNL_ClassName + "\">下页</a>"; this.PageControlString += "<a href=\"javascript:;\" class=\"" + this.FPNL_ClassName + "\">尾页</a>"; } } } } this.PageControlString += "</div>"; }, get_asflag: function () { this.asflag = []; if (this.pagecount <= 10) { if (this.PageIndex == 1) { this.asflag = [0, 0, 0]; for (var i = 2; i <= this.pagecount;i++){ this.asflag.push(i); } this.asflag.push(2, this.pagecount); } else if (this.PageIndex == this.pagecount) { this.asflag = [1, this.PageIndex - 1]; for (var i = 1; i < this.pagecount; i++) { this.asflag.push(i); } this.asflag.push(0,0,0); } else { this.asflag = [1, this.PageIndex - 1, 1]; for (var i = 2; i < this.pagecount; i++) { if (i == this.PageIndex) { this.asflag.push(0); } else { this.asflag.push(i); } } this.asflag.push(this.pagecount, this.PageIndex + 1, this.pagecount); } } else { if (this.PageIndex <= 6) { if (this.PageIndex == 1) { this.asflag = [0, 0, 0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 2, this.pagecount]; } else { this.asflag = [1, this.PageIndex - 1, 1]; for (var i = 2; i <= 6; i++) { if (i == this.PageIndex) { this.asflag.push(0); } else { this.asflag.push(i); } } this.asflag.push(7, 8, 9, 10, 11, this.PageIndex + 1, this.pagecount); } } else { if (this.PageIndex < this.pagecount - 4) { this.asflag = [ 1, this.PageIndex - 1, this.PageIndex - 6, this.PageIndex - 5, this.PageIndex - 4, this.PageIndex - 3, this.PageIndex - 2, this.PageIndex - 1, 0, this.PageIndex + 1, this.PageIndex + 2, this.PageIndex + 3, this.PageIndex + 4, this.PageIndex + 5, this.PageIndex + 1, this.pagecount ]; } else { this.asflag = [ 1, this.PageIndex - 1, this.pagecount - 10, this.pagecount - 9, this.pagecount - 8, this.pagecount - 7, this.pagecount - 6, this.pagecount - 5, ]; for (var i = this.pagecount - 4; i <= this.pagecount; i++) { if (i == this.PageIndex) { this.asflag.push(0); } else { this.asflag.push(i); } } if (this.PageIndex == this.pagecount) { this.asflag.push(0, 0); } else { this.asflag.push(this.PageIndex + 1, this.pagecount); } } } } }, bing_event: function () { for (var i = 0; i <= this.as.length - 1; i++) { if (this.asflag[i] != 0) { this.as[i].onclick = function () { _this.list = []; for (var i = 0; i < _this.as.length; i++) { if (this == _this.as[i]) _this.PageIndex = _this.asflag[i]; } _this.as = []; _this.asflag = []; _this.msg = ""; _this.TableString = ""; _this.PageControlString = ""; document.body.innerHTML = ""; _this.create_msg(); AJAX(_this.url, "post", _this.msg, _this.ajaxcallback, false); }; } } }, }; }());
相关文章推荐
- 分享微信开发Html5轻游戏中的几个坑
- Ajax
- $.ajax()方法详解
- jQuery ajax - ajax() 方法
- 使用Ajax实现异步用户名验证
- 使用ajax实现用户登录验证(升级版)
- more、less 和 most 的区别
- 解决Ajax悬停效果,无法遮蔽FLASH的问题
- 星外ASP.Net的安全设置相关说明
- 再谈Jquery Ajax方法传递到action(补充)
- Dom在ajax技术中的作用说明
- AJAX实现瀑布流触发分页与分页触发瀑布流的方法
- C#、ASP.NET通用扩展工具类之TypeParse
- 十万条Access数据表分页的两个解决方法
- 使用Ajax实时检测"用户名、邮箱等"是否已经存在
- 探讨Ajax中同步与异步之间的区别
- 实现ASP.NET无刷新下载并提示下载完成的开发思路
- sqlserver关于分页存储过程的优化【让数据库按我们的意思执行查询计划】
- Django表单form ajax简单应用
- JavaWeb程序架构模式的演进