Ei kuvausta

layer.ext.js 6.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. /*! layer弹层组件拓展类 */ ;
  2. ! function() {
  3. // layer.use("skin/layer.ext.css", function() {
  4. // layer.layui_layer_extendlayerextjs = !0
  5. // });
  6. var a = layer.cache || {},
  7. b = function(b) {
  8. return a.skin ? " " + a.skin + " " + a.skin + "-" + b : ""
  9. };
  10. layer.prompt = function(a, c) {
  11. a = a || {}, "function" == typeof a && (c = a);
  12. var d, e = 2 == a.formType ? '<textarea class="layui-layer-input">' + (a.value || "") + "</textarea>" : function() {
  13. return '<input type="' + (1 == a.formType ? "password" : "text") + '" class="layui-layer-input" value="' + (a.value || "") + '">'
  14. }();
  15. return layer.open($.extend({
  16. btn: ["&#x786E;&#x5B9A;", "&#x53D6;&#x6D88;"],
  17. content: e,
  18. skin: "layui-layer-prompt" + b("prompt"),
  19. success: function(a) {
  20. d = a.find(".layui-layer-input"), d.focus()
  21. },
  22. yes: function(b) {
  23. var e = d.val();
  24. "" === e ? d.focus() : e.length > (a.maxlength || 500) ? layer.tips("&#x6700;&#x591A;&#x8F93;&#x5165;" + (a.maxlength || 500) + "&#x4E2A;&#x5B57;&#x6570;", d, {
  25. tips: 1
  26. }) : c && c(e, b, d)
  27. }
  28. }, a))
  29. }, layer.tab = function(a) {
  30. a = a || {};
  31. var c = a.tab || {};
  32. return layer.open($.extend({
  33. type: 1,
  34. skin: "layui-layer-tab" + b("tab"),
  35. title: function() {
  36. var a = c.length,
  37. b = 1,
  38. d = "";
  39. if(a > 0)
  40. for(d = '<span class="layui-layer-tabnow">' + c[0].title + "</span>"; a > b; b++) d += "<span>" + c[b].title + "</span>";
  41. return d
  42. }(),
  43. content: '<ul class="layui-layer-tabmain">' + function() {
  44. var a = c.length,
  45. b = 1,
  46. d = "";
  47. if(a > 0)
  48. for(d = '<li class="layui-layer-tabli xubox_tab_layer">' + (c[0].content || "no content") + "</li>"; a > b; b++) d += '<li class="layui-layer-tabli">' + (c[b].content || "no content") + "</li>";
  49. return d
  50. }() + "</ul>",
  51. success: function(a) {
  52. var b = a.find(".layui-layer-title").children(),
  53. c = a.find(".layui-layer-tabmain").children();
  54. b.on("mousedown", function(a) {
  55. a.stopPropagation ? a.stopPropagation() : a.cancelBubble = !0;
  56. var b = $(this),
  57. d = b.index();
  58. b.addClass("layui-layer-tabnow").siblings().removeClass("layui-layer-tabnow"), c.eq(d).show().siblings().hide()
  59. })
  60. }
  61. }, a))
  62. }, layer.photos = function(a, c, d) {
  63. function e(a, b, c) {
  64. var d = new Image;
  65. d.onload = function() {
  66. d.onload = null, b(d)
  67. }, d.onerror = function(a) {
  68. d.onerror = null, c(a)
  69. }, d.src = a
  70. }
  71. var f = {};
  72. if(a = a || {}, a.photos) {
  73. var g = a.photos.constructor === Object,
  74. h = g ? a.photos : {},
  75. i = h.data || [],
  76. j = h.start || 0;
  77. if(f.imgIndex = j + 1, g) {
  78. if(0 === i.length) return void layer.msg("&#x6CA1;&#x6709;&#x56FE;&#x7247;")
  79. } else {
  80. var k = $(a.photos),
  81. l = k.find(a.img || "img");
  82. if(0 === l.length) return;
  83. if(c || k.find(h.img || "img").each(function(b) {
  84. var c = $(this);
  85. i.push({
  86. alt: c.attr("alt"),
  87. pid: c.attr("layer-pid"),
  88. src: c.attr("layer-src") || c.attr("src"),
  89. thumb: c.attr("src")
  90. }), c.on("click", function() {
  91. layer.photos($.extend(a, {
  92. photos: {
  93. start: b,
  94. data: i,
  95. tab: a.tab
  96. },
  97. full: a.full
  98. }), !0)
  99. })
  100. }), !c) return
  101. }
  102. f.imgprev = function(a) {
  103. f.imgIndex--, f.imgIndex < 1 && (f.imgIndex = i.length), f.tabimg(a)
  104. }, f.imgnext = function(a, b) {
  105. f.imgIndex++, f.imgIndex > i.length && (f.imgIndex = 1, b) || f.tabimg(a)
  106. }, f.keyup = function(a) {
  107. if(!f.end) {
  108. var b = a.keyCode;
  109. a.preventDefault(), 37 === b ? f.imgprev(!0) : 39 === b ? f.imgnext(!0) : 27 === b && layer.close(f.index)
  110. }
  111. }, f.tabimg = function(b) {
  112. i.length <= 1 || (h.start = f.imgIndex - 1, layer.close(f.index), layer.photos(a, !0, b))
  113. }, f.event = function() {
  114. f.bigimg.hover(function() {
  115. f.imgsee.show()
  116. }, function() {
  117. f.imgsee.hide()
  118. }), f.bigimg.find(".layui-layer-imgprev").on("click", function(a) {
  119. a.preventDefault(), f.imgprev()
  120. }), f.bigimg.find(".layui-layer-imgnext").on("click", function(a) {
  121. a.preventDefault(), f.imgnext()
  122. }), $(document).on("keyup", f.keyup)
  123. }, f.loadi = layer.load(1, {
  124. shade: "shade" in a ? !1 : .9,
  125. scrollbar: !1
  126. }), e(i[j].src, function(c) {
  127. layer.close(f.loadi), f.index = layer.open($.extend({
  128. type: 1,
  129. area: function() {
  130. var b = [c.width, c.height],
  131. d = [$(window).width() - 100, $(window).height() - 100];
  132. return !a.full && b[0] > d[0] && (b[0] = d[0], b[1] = b[0] * d[1] / b[0]), [b[0] + "px", b[1] + "px"]
  133. }(),
  134. title: !1,
  135. shade: .9,
  136. shadeClose: !0,
  137. closeBtn: !1,
  138. move: ".layui-layer-phimg img",
  139. moveType: 1,
  140. scrollbar: !1,
  141. moveOut: !0,
  142. shift: 5 * Math.random() | 0,
  143. skin: "layui-layer-photos" + b("photos"),
  144. content: '<div class="layui-layer-phimg"><img src="' + i[j].src + '" alt="' + (i[j].alt || "") + '" layer-pid="' + i[j].pid + '"><div class="layui-layer-imgsee">' + (i.length > 1 ? '<span class="layui-layer-imguide"><a href="javascript:;" class="layui-layer-iconext layui-layer-imgprev"></a><a href="javascript:;" class="layui-layer-iconext layui-layer-imgnext"></a></span>' : "") + '<div class="layui-layer-imgbar" style="display:' + (d ? "block" : "") + '"><span class="layui-layer-imgtit"><a href="javascript:;">' + (i[j].alt || "") + "</a><em>" + f.imgIndex + "/" + i.length + "</em></span></div></div></div>",
  145. success: function(b, c) {
  146. f.bigimg = b.find(".layui-layer-phimg"), f.imgsee = b.find(".layui-layer-imguide,.layui-layer-imgbar"), f.event(b), a.tab && a.tab(i[j], b)
  147. },
  148. end: function() {
  149. f.end = !0, $(document).off("keyup", f.keyup)
  150. }
  151. }, a))
  152. }, function() {
  153. layer.close(f.loadi), layer.msg("&#x5F53;&#x524D;&#x56FE;&#x7247;&#x5730;&#x5740;&#x5F02;&#x5E38;<br>&#x662F;&#x5426;&#x7EE7;&#x7EED;&#x67E5;&#x770B;&#x4E0B;&#x4E00;&#x5F20;&#xFF1F;", {
  154. time: 3e4,
  155. btn: ["下一张", "不看了"],
  156. yes: function() {
  157. i.length > 1 && f.imgnext(!0, !0)
  158. }
  159. })
  160. })
  161. }
  162. }
  163. }();