common.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. (function (root, factory) {
  2. if (typeof define === 'function' && define.amd) {
  3. // AMD
  4. define(factory);
  5. } else if (typeof exports === 'object') {
  6. // Node, CommonJS之类的
  7. module.exports = factory();
  8. } else {
  9. // 浏览器全局变量(root 即 window)
  10. root.utils = factory();
  11. }
  12. }(this, function () {
  13. String.prototype.trim = String.prototype.trim || function () {
  14. return this.replace(/^\s+|\s+$/g, '');
  15. };
  16. var getValue = function (array, obj) {
  17. var key = array.shift();
  18. var val = obj[key];
  19. if (array.length) {
  20. val = getValue(array, val);
  21. }
  22. return val;
  23. }
  24. return {
  25. convertTemplate: function (template, data) {
  26. return template.replace(/\{#(.+?)#}/g, function ($0, $1) {
  27. var arr = $1.split('.');
  28. var val = getValue(arr, data);
  29. return typeof val !== 'undefined' ? val : $0;
  30. })
  31. },
  32. paging: function (total, current) {
  33. var html = '';
  34. html += '<li data-page="1"><a>首页</a></li>';
  35. if (current != 1) {
  36. html += '<li class="previous" data-page="' + (current - 1) + '"><a><i class="fa fa-angle-double-left"></i></a></li>';
  37. }
  38. var min, max;
  39. min = Math.max(1, current - 4);
  40. max = Math.min(min + 9, total);
  41. for (var i = min, len = max; i <= len; i++) {
  42. if (i === current) {
  43. html += '<li data-page="' + i + '" class="active"><a>' + i + '</a></li>';
  44. } else {
  45. html += '<li data-page="' + i + '"><a href="#">' + i + '</a></li>';
  46. }
  47. }
  48. if (current != total) {
  49. html += '<li class="next" data-page="' + (current + 1) + '"><a><i class="fa fa-angle-double-right"></i></a></li>';
  50. }
  51. html += '<li data-page="' + total + '"><a>末页</a></li>';
  52. return html;
  53. }
  54. }
  55. }));