jQuery MiniUI

标题: 求大神指点mini.open该如何封装 [打印本页]

作者: 匿名    时间: 2020-1-19 10:56:30     标题: 求大神指点mini.open该如何封装

  1. openDialog: function (options) {
  2.         if (!options){
  3.             return;
  4.         }
  5.         if (!options.url){
  6.             return;
  7.         }
  8.         var defaultOptions = {
  9.             type: 0,
  10.             targetWindow: '',
  11.             title: "",
  12.             url: "",
  13.             width: "",
  14.             height: "",
  15.             iconCls: '',
  16.             showHeader: true,
  17.             cls: '',
  18.             borderStyle: '',
  19.             allowResize: false,
  20.             allowDrag: true,
  21.             showCloseButton: true,
  22.             showMaxButton: false,
  23.             showModal: true,
  24.             loadOnRefresh: false,
  25.             onload: null,     //弹出页面加载完成
  26.             ondestroy: null  //弹出页面关闭前
  27.         };
  28.         options = $.extend('', defaultOptions, options);
  29.         if(options.type == 0) {  //弹出自定义大小窗口
  30.             options.width = options.width || 500;
  31.             options.height = options.height || 400;
  32.         } else if (options.type == 1 || options.type == 2){ //1弹出ifram窗口, //2弹出顶级全屏窗口
  33.             options.showHeader= false;
  34.             options.cls = 'showMaxCenter';
  35.             options.borderStyle= 'border:0';
  36.             options.allowDrag= false;
  37.             options.allowResize= false;
  38.             if(options.type == 1){
  39.                 options.targetWindow= window;
  40.             }
  41.         }
  42.         if(options.url.indexOf("http") == -1) {
  43.             options.url = ROOTPATH + options.url;
  44.         }
  45.         console.log(options.url);
  46.         var win = mini.open({
  47.             targetWindow: options.targetWindow,   //页面对象。默认是顶级页面。
  48.             url: options.url,                      //页面地址
  49.             showHeader: options.showHeader,       //显示头部
  50.             title: options.title,                 //标题
  51.             cls: options.cls,                      //样式
  52.             borderStyle: options.borderStyle,    //边框
  53.             iconCls: options.iconCls,             //标题图标
  54.             width: options.width,                 //宽度
  55.             height: options.height,               //高度
  56.             allowResize: options.allowResize,    //允许尺寸调节
  57.             allowDrag:  options.allowDrag,         //允许拖拽位置
  58.             showCloseButton: options.showCloseButton,   //显示关闭按钮
  59.             showMaxButton: options.showMaxButton,     //显示最大化按钮
  60.             showModal: options.showModal,         //显示遮罩
  61.             loadOnRefresh: options.loadOnRefresh,       //true每次刷新都激发onload事件
  62.             onload: typeof options.onload === "function" ? options.onload : function() {
  63.                 var iframe = this.getIFrameEl();
  64.                 if(typeof iframe.contentWindow.setData == "function" && options.data){
  65.                     iframe.contentWindow.setData(options.data);
  66.                 }
  67.             },
  68.             ondestroy: typeof options.ondestroy === "function" ? options.ondestroy : function(action) {
  69.                 if(action == "ok" && typeof options.onOkClick === "function"){
  70.                     options.onOkClick()
  71.                 }
  72.                 if(action == "cancle" && typeof options.onCancleclick === "function"){
  73.                     options.onCancleclick()
  74.                 }
  75.                 if(action == "close" && typeof options.onCloseclick === "function"){
  76.                     options.onCloseclick()
  77.                 }
  78.             }
  79.         });
  80.         if(options.type == 1 || options.type == 2) {
  81.             win.max();
  82.         }
  83.     },
复制代码
上面是我封装的,看上去不怎么简洁,然后调用这个方法的时候窗口好像加载的慢了,该如何修改一下





欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2