modal.js 2.0 KB

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