博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ajax分页
阅读量:7223 次
发布时间:2019-06-29

本文共 8451 字,大约阅读时间需要 28 分钟。

1 一、分页方法  2   3 /**  4   5  * 分页方法  6   7  * @param page int 当前页码数  8   9  * @param b    object  10  11  *             b.js js数据调用方法 12  13  *             b.total 数据总条数 14  15  *             b.pagesize 每页多少条 16  17  *             b.pagelen 页码数量 18  19  */  20  21 function ajaxPage(page,b){ 22  23  var js=b.js;        //调用的方法 24  25     var total=b.total;  //总条数 26  27  var pagesize=b.pagesize; //每页多少条 28  29     var pagelen=b.pagelen;   //页码数量 30  31     if (page > 99){          32  33         pagelen = 5; 34  35     }   36  37     pagecode = ''; 38  39     page = parseInt(page); 40  41     total = parseInt(total); 42  43     if (!total){ 44  45       return false;  46  47     } 48  49     var  pages = Math.ceil(total / pagesize);//总页数 50  51     if (page < 1) 52  53         page = 1; 54  55     if (page > pages) 56  57         page = pages; 58  59     // offset = pagesize * (page - 1); 60  61    var init = 1; 62  63    var max = pages; 64  65    var pagelen = (pagelen % 2) ? pagelen : pagelen + 1; 66  67    var pageoffset = (pagelen - 1) / 2; 68  69      b=$.toJSON(b); 70  71     // 生成html 72  73     var pagecode = "
"; 74 75 if (page != 1) { 76 77 pagecode+="
首页
"; 78 79 pagecode+="
上一页
"; 80 81 } 82 83 if (pages > pagelen) { 84 85 if (page <= pageoffset) { 86 87 init = 1; 88 89 max = pagelen; 90 91 } else { 92 93 if (page + pageoffset >= pages + 1) { 94 95 init = pages - pagelen + 1; 96 97 } else { 98 99 init = page - pageoffset;100 101 max = page + pageoffset;102 103 }104 105 }106 107 }108 109 // 生成html110 111 for ( var i = init; i <= max; i++) {112 113 if (i == page) {114 115 pagecode+="
"+i+"
";116 117 } else {118 119 pagecode+="
"+i+"
";120 121 }122 123 }124 125 126 127 if (page != pages) {128 129 pagecode+="
下一页
";130 131 pagecode+="
尾页
";132 133 }134 135 pagecode += "
共"+pages+"页
";136 137 pagecode+="
";138 139 return pagecode;140 141 }142 143 144 145 二、方法中用到$.toJSON,插件代码146 147 /**148 149 * jQuery JSON plugin 2.4.0150 151 *152 153 * @author Brantley Harris, 2009-2011154 155 * @author Timo Tijhof, 2011-2014156 157 * @source This plugin is heavily influenced by MochiKit's serializeJSON, which is158 159 * copyrighted 2005 by Bob Ippolito.160 161 * @source Brantley Harris wrote this plugin. It is based somewhat on the JSON.org162 163 * website's http://www.json.org/json2.js, which proclaims:164 165 * "NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.", a sentiment that166 167 * I uphold.168 169 * @license MIT License
170 171 */172 173 (function ($) {174 175 'use strict';176 177 178 179 var escape = /["\\\x00-\x1f\x7f-\x9f]/g,180 181 meta = {182 183 '\b': '\\b',184 185 '\t': '\\t',186 187 '\n': '\\n',188 189 '\f': '\\f',190 191 '\r': '\\r',192 193 '"': '\\"',194 195 '\\': '\\\\'196 197 },198 199 hasOwn = Object.prototype.hasOwnProperty;200 201 202 203 /**204 205 * jQuery.toJSON206 207 * Converts the given argument into a JSON representation.208 209 *210 211 * @param o {Mixed} The json-serializable *thing* to be converted212 213 *214 215 * If an object has a toJSON prototype, that will be used to get the representation.216 217 * Non-integer/string keys are skipped in the object, as are keys that point to a218 219 * function.220 221 *222 223 */224 225 $.toJSON = typeof JSON === 'object' && JSON.stringify ? JSON.stringify : function (o) {226 227 if (o === null) {228 229 return 'null';230 231 }232 233 234 235 var pairs, k, name, val,236 237 type = $.type(o);238 239 240 241 if (type === 'undefined') {242 243 return undefined;244 245 }246 247 248 249 // Also covers instantiated Number and Boolean objects,250 251 // which are typeof 'object' but thanks to $.type, we252 253 // catch them here. I don't know whether it is right254 255 // or wrong that instantiated primitives are not256 257 // exported to JSON as an {"object":..}.258 259 // We choose this path because that's what the browsers did.260 261 if (type === 'number' || type === 'boolean') {262 263 return String(o);264 265 }266 267 if (type === 'string') {268 269 return $.quoteString(o);270 271 }272 273 if (typeof o.toJSON === 'function') {274 275 return $.toJSON(o.toJSON());276 277 }278 279 if (type === 'date') {280 281 var month = o.getUTCMonth() + 1,282 283 day = o.getUTCDate(),284 285 year = o.getUTCFullYear(),286 287 hours = o.getUTCHours(),288 289 minutes = o.getUTCMinutes(),290 291 seconds = o.getUTCSeconds(),292 293 milli = o.getUTCMilliseconds();294 295 296 297 if (month < 10) {298 299 month = '0' + month;300 301 }302 303 if (day < 10) {304 305 day = '0' + day;306 307 }308 309 if (hours < 10) {310 311 hours = '0' + hours;312 313 }314 315 if (minutes < 10) {316 317 minutes = '0' + minutes;318 319 }320 321 if (seconds < 10) {322 323 seconds = '0' + seconds;324 325 }326 327 if (milli < 100) {328 329 milli = '0' + milli;330 331 }332 333 if (milli < 10) {334 335 milli = '0' + milli;336 337 }338 339 return '"' + year + '-' + month + '-' + day + 'T' +340 341 hours + ':' + minutes + ':' + seconds +342 343 '.' + milli + 'Z"';344 345 }346 347 348 349 pairs = [];350 351 352 353 if ($.isArray(o)) {354 355 for (k = 0; k < o.length; k++) {356 357 pairs.push($.toJSON(o[k]) || 'null');358 359 }360 361 return '[' + pairs.join(',') + ']';362 363 }364 365 366 367 // Any other object (plain object, RegExp, ..)368 369 // Need to do typeof instead of $.type, because we also370 371 // want to catch non-plain objects.372 373 if (typeof o === 'object') {374 375 for (k in o) {376 377 // Only include own properties,378 379 // Filter out inherited prototypes380 381 if (hasOwn.call(o, k)) {382 383 // Keys must be numerical or string. Skip others384 385 type = typeof k;386 387 if (type === 'number') {388 389 name = '"' + k + '"';390 391 } else if (type === 'string') {392 393 name = $.quoteString(k);394 395 } else {396 397 continue;398 399 }400 401 type = typeof o[k];402 403 404 405 // Invalid values like these return undefined406 407 // from toJSON, however those object members408 409 // shouldn't be included in the JSON string at all.410 411 if (type !== 'function' && type !== 'undefined') {412 413 val = $.toJSON(o[k]);414 415 pairs.push(name + ':' + val);416 417 }418 419 }420 421 }422 423 return '{' + pairs.join(',') + '}';424 425 }426 427 };428 429 430 431 /**432 433 * jQuery.evalJSON434 435 * Evaluates a given json string.436 437 *438 439 * @param str {String}440 441 */442 443 $.evalJSON = typeof JSON === 'object' && JSON.parse ? JSON.parse : function (str) {444 445 /*jshint evil: true */446 447 return eval('(' + str + ')');448 449 };450 451 452 453 /**454 455 * jQuery.secureEvalJSON456 457 * Evals JSON in a way that is *more* secure.458 459 *460 461 * @param str {String}462 463 */464 465 $.secureEvalJSON = typeof JSON === 'object' && JSON.parse ? JSON.parse : function (str) {466 467 var filtered =468 469 str470 471 .replace(/\\["\\\/bfnrtu]/g, '@')472 473 .replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']')474 475 .replace(/(?:^|:|,)(?:\s*\[)+/g, '');476 477 478 479 if (/^[\],:{}\s]*$/.test(filtered)) {480 481 /*jshint evil: true */482 483 return eval('(' + str + ')');484 485 }486 487 throw new SyntaxError('Error parsing JSON, source is not valid.');488 489 };490 491 492 493 /**494 495 * jQuery.quoteString496 497 * Returns a string-repr of a string, escaping quotes intelligently.498 499 * Mostly a support function for toJSON.500 501 * Examples:502 503 * >>> jQuery.quoteString('apple')504 505 * "apple"506 507 *508 509 * >>> jQuery.quoteString('"Where are we going?", she asked.')510 511 * "\"Where are we going?\", she asked."512 513 */514 515 $.quoteString = function (str) {516 517 if (str.match(escape)) {518 519 return '"' + str.replace(escape, function (a) {520 521 var c = meta[a];522 523 if (typeof c === 'string') {524 525 return c;526 527 }528 529 c = a.charCodeAt();530 531 return '\\u00' + Math.floor(c / 16).toString(16) + (c % 16).toString(16);532 533 }) + '"';534 535 }536 537 return '"' + str + '"';538 539 };540 541 542 543 }(jQuery));

 

转载于:https://www.cnblogs.com/faronl/p/4565060.html

你可能感兴趣的文章
BFS POJ 3278 Catch That Cow
查看>>
Unreal Engine 4 优化教程
查看>>
Windows live Writer博客园,51CTO,网易博客,新浪博客配置方法
查看>>
Spring AOP动态获取函数参数中的值
查看>>
win7下xp mode IP在同一网段实现网络共享
查看>>
[K/3Cloud]ksql翻译札记
查看>>
数据字典和动态性能视图——常用数据字典
查看>>
MySQL 函数大全
查看>>
YII with()
查看>>
《当你的才华还撑不起你的梦想时》读后感
查看>>
Redis高可用哨兵原理
查看>>
chroot directory
查看>>
文件系统的简单操作
查看>>
xtrabackup 安装
查看>>
一步步学习EF Core(1.DBFirst)
查看>>
php 例子 如何转换ISO8601为 utc时间
查看>>
第四次实验
查看>>
IOS UIView 03- 自定义 Collection View 布局
查看>>
instantclient的使用入门
查看>>
【数据结构作业心得】4-1 指针笔记
查看>>