modal.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. const jQuery = require('jquery');
  2. (function ($) {
  3. let close = require("../images/icon_close_default.png")
  4. let suc = require("../images/success.png")
  5. let loadingImg = require("../images/loading.gif")
  6. $.alerModal = function (options) {
  7. var dft = {
  8. sureBtn:true,
  9. quiteBtn:false,
  10. width:"400",
  11. title:"标题",
  12. sureText:"确定",
  13. message: '<p class="tip">内容</p>',
  14. time: 1500,
  15. isFather: false,
  16. fatherWrapper:'',
  17. type:'modal',//tip,loading
  18. callback:function(){
  19. alert(99)
  20. }
  21. };
  22. var ops = $.extend(dft, options || {});
  23. var html = `
  24. <div class="alertModal">
  25. <div class="modalBg"></div>
  26. <div class="modalMain" style="width:${ops.width}px;margin-left:-${ops.width/2}px">
  27. <p class="title">${ops.title} <img src="${close}" alt=""></p>
  28. <div class="content">
  29. ${ops.message}
  30. </div>
  31. <div class="btns clearfix">
  32. <span class="quite" style="display:${ops.quiteBtn?'inlineBlock':'none'}">取消</span>
  33. <span class="sure sureChange" style="display:${ops.sureBtn?'inlineBlock':'none'}">${ops.sureText}</span>
  34. </div>
  35. </div>
  36. </div>
  37. `
  38. // var tip = `
  39. // <div class="modaltip">${ops.message}</div>
  40. // `
  41. var tip = `
  42. ${ops.win?`
  43. <div class="modaltipSuc">
  44. <img src="${suc}" />
  45. ${ops.message}
  46. </div>`:`
  47. <div class="modaltip">
  48. ${ops.message}
  49. </div>`}
  50. `
  51. var loading = `
  52. <div class="loading"><img src="${loadingImg}" alt=""></div>
  53. `
  54. var box = $("<div/>",{
  55. "class":"divModal",
  56. "html":ops.type == 'tip'?tip:ops.type == 'loading'?loading:html
  57. }).css({
  58. left:$(".modaltip").width()/2+'px',
  59. top:$(".modaltip").height()/2+'px'
  60. })
  61. if(ops.isFather){
  62. //console.log('bbbbbbb')
  63. ops.fatherWrapper.append(box)
  64. } else{
  65. $("body").append(box)
  66. }
  67. if(ops.type == 'tip'){
  68. setTimeout(function(){
  69. box.remove();
  70. }, ops.time);
  71. }
  72. $(document).on('click',".alertModal .title img",function(){
  73. box.remove();
  74. })
  75. }
  76. })(jQuery);