/**************************************************************** * * * 代码库 * * www.dmaku.com * * 努力创建完善、持续更新插件以及模板 * * * ****************************************************************/ var zindex = 100; var timerInterval = null; var isMouseDownDoing = false; var ajaxTimeout = null; (function($){ $.tmUtil = { dialogHtml : function(opts){ if(opts.single){ $(".tmui-modal").remove(); $(".tmui-overlay").remove(); }; var dialogHtml = "
"+ ""+ ""+opts.title+"
"+ "
"+ "

"+opts.content+"

"+ "

"+opts.sureText+""+ ""+opts.cancleText+"

"+ "
"; return $(dialogHtml); }, _position : function($obj,opts){ var windowHeight = $(window).height(); var windowWidth = $(window).width(); var left =opts.left || (windowWidth - $obj.width())/2; var top = opts.top || (windowHeight - $obj.height())/2; if(opts.open=="top"){ $obj.css("left",left).stop().animate({top:top}); }else if(opts.open=="left"){ $obj.css("top",top).stop().animate({left:left}); }else if(opts.open=="fade"){ $obj.hide().css({left:left,top:top}).stop().fadeIn("slow"); }else if(opts.open=="slide"){ $obj.hide().css({left:left,top:top}).stop().slideDown("slow"); }else if(opts.open=="message"){ var left = $.tmUtil._getClientWidth()-opts.width-3; var top = $.tmUtil._getClientHeight()-opts.height-3; $obj.css({left:left,top:$.tmUtil._getClientHeight()}).stop().animate({top:"+"+top+"px"}); }else{ $obj.css({"left":left,"top":top}); } }, _resize : function($obj,opts){ $(window).on("resize",function(){ $.tmUtil._position($obj,opts); $obj.next(".tmui-overlay").height($.tmUtil._getScrollHeight()); }); }, _overlay:function($dialog){ var height = this._getScrollHeight(); var zindexc = $dialog.css("z-index"); zindexc--; var $overLayObj = $('
'); $dialog.after($overLayObj); }, _getClientHeight : function() { var clientHeight = 0; if (document.body.clientHeight && document.documentElement.clientHeight) { clientHeight = (document.body.clientHeight < document.documentElement.clientHeight) ? document.body.clientHeight: document.documentElement.clientHeight; } else { clientHeight = (document.body.clientHeight > document.documentElement.clientHeight) ? document.body.clientHeight: document.documentElement.clientHeight; } return clientHeight; }, _getClientWidth : function() { var clientWidth = 0; if (document.body.clientWidth && document.documentElement.clientWidth) { clientWidth = (document.body.clientWidth < document.documentElement.clientWidth) ? document.body.clientWidth: document.documentElement.clientWidth; } else { clientWidth = (document.body.clientWidth > document.documentElement.clientWidth) ? document.body.clientWidth: document.documentElement.clientWidth; } return clientWidth; }, _getScrollHeight : function (){ return Math.max(this._getClientHeight(),document.body.scrollHeight,document.documentElement.scrollHeight); }, _getHeight: function() { return window.innerHeight || document.documentElement && document.documentElement.clientHeight || document.body.clientHeight; }, _getWidth: function() { return window.innerWidth || document.documentElement && document.documentElement.clientWidth || document.body.clientWidth; }, _showOpen : function($dialog,opts){ zindex++; $dialog.css("zIndex",zindex); if(opts.open !="other"){ $dialog.show().css({width:opts.width,height:opts.height,"margin":"none"}); $("body").append($dialog); $.tmUtil._position($dialog,opts); $.tmUtil._resize($dialog,opts); } if(opts.open=="other"){ if(opts.animateBefore=="before"){ $dialog.css("margin","auto").show().stop().animate({width:opts.width,height:opts.height}); $("body").append($dialog); } if(opts.animateBefore=="after"){ $("body").append($dialog); $dialog.css("margin","auto").show().stop().animate({width:opts.width,height:opts.height}); } } }, _animateClose : function($obj,opts){ var height = $obj.offset().top+$obj.height()*2; var width = $obj.offset().left+$obj.width()*2; if(opts.open=="top"){ $obj.stop().animate({top:"-"+height+"px"},function(){ if(opts.showOverlay)$(this).next().remove(); $(this).remove(); }); }else if(opts.open=="left"){ $obj.stop().animate({left:"-"+width+"px"},function(){ if(opts.showOverlay)$(this).next().remove(); $(this).remove(); }); }else if(opts.open =="fade"){ $obj.stop().fadeOut("slow",function(){ if(opts.showOverlay)$(this).next().remove(); $(this).remove(); }); }else if(opts.open=="slide"){ $obj.stop().slideUp("slow",function(){ if(opts.showOverlay)$(this).next().remove(); $(this).remove(); }); }else if(opts.open=="other"){ $obj.stop().animate({width:0,height:0},function(){ if(opts.showOverlay)$(this).next().remove(); $(this).remove(); }); }else if(opts.open=="message"){ $obj.stop().animate({top:$.tmUtil._getClientHeight()},function(){ if(opts.showOverlay)$(this).next().remove(); $(this).remove(); }); }else{ if(opts.showOverlay)$obj.next().remove(); $obj.remove(); } }, _shake : function (obj){ var style = obj.style, p = [14, 18, 14, 10, -14, -18, -14, 10,12,0,-12,11], fx = function () { style.marginLeft = p.shift() + 'px'; if (p.length <= 0) { style.marginLeft = 0; clearInterval(timerId); }; }; p = p.concat(p.concat(p)); timerId = setInterval(fx, 13); }, _overlayClick:function($dialog,opts){ $dialog.next().click(function(e){ $.tmUtil._animateClose($dialog,opts); stopBubble(e); }); } }; $.tmDialog = { confirm :function(options){ if(isEmpty(options.icon))options.icon = "warn"; this._init(options); }, _init:function(options){ var opts = $.extend({},$.tmDialog,$.tmDialog.defaults,options); var $dialog = $.tmUtil.dialogHtml(opts); if(isNotEmpty(opts.id))$dialog.attr("id",opts.id); $dialog.data("options",opts); $.tmUtil._showOpen($dialog,opts);//打开特效 this._bindEvent($dialog,opts);//绑定事件 if(!eval(opts.showIcon))$dialog.find(".tmui-modal-icon").remove(); if(opts.drag)$dialog.tmDrag({handle:$dialog.find(".tmui-modal-header")});//是否允许拖动 if(opts.width<=360)opts.width = 360; if(opts.height<=200)opts.height = 260; if(opts.showOverlay)$.tmUtil._overlay($dialog);//是否有阴影层 if(opts.showHeader){$dialog.find(".tmui-modal-header").hide();} if(eval(opts.showIcon)){ $dialog.find(".tmui-modal-content").width(opts.width-148); }else{ $dialog.find(".tmui-modal-content").css({"width":(opts.width-100),"textAlign":opts.arrow||"center","padding":0,"padding":50}); } if(!eval(opts.showBottom)){ $dialog.find(".tmui-modal-bottom").remove(); var h = opts.height-55; $dialog.height(h).find(".tmui-modal-body").height(h); }else{ $dialog.find(".tmui-modal-body").height(opts.height-125); } if(!eval(opts.showClose)){ $dialog.find(".tmui-modal-close").remove(); $dialog.find(".tmui-modal-cancle").remove(); } if(eval(opts.overlayHide))$.tmUtil._overlayClick($dialog,opts); if(eval(opts.colors).length>0){ var colorx = eval(opts.colors); $dialog.find(".tmui-modal-header").css({"background":colorx[0]}); $dialog.find(".tmui-modal-sure").css({"background":colorx[1]||colorx[0]}); $dialog.find(".tmui-modal-cancle").css({"background":colorx[2]||colorx[0]}); } if(isNotEmpty(opts.timer))this._timer($dialog,opts); if(eval(opts.shake))$.tmUtil._shake($dialog.get(0)); if(isNotEmpty(opts.left))$dialog.css("left",opts.left); if(isNotEmpty(opts.top)){$dialog.css("top",opts.top);} if(isNotEmpty(opts.zindex)){ $dialog.css("zIndex",opts.zindex).next().css("zIndex",opts.zindex-1); } return $dialog; }, _limitRandom : function (begin,end){ return Math.floor(Math.random()*(end-begin))+begin; }, _bindEvent :function($dialog,opts){ $dialog.find(".tmui-modal-cancle,.tmui-modal-close").off().on("click",function(e){ if(opts.callback)opts.callback(false); $.tmDialog._remove($dialog,opts); if(opts.content instanceof jQuery){ $("body").append(opts.content.hide()); } }); $dialog.find(".tmui-modal-sure").off().on("click",function(){ if(opts.callback)opts.callback(true); $.tmDialog._remove($dialog,opts); }); }, _timer : function($dialog,opts){ var timecount = opts.timer*1000 / 1000; clearInterval(timerInterval); timerInterval = setInterval(function(){ $dialog.find(".tmui-modal-timer").html("("+timecount+")"); if(timecount<=1){ $.tmUtil._animateClose($dialog,opts); clearInterval(timerInterval); } timecount--; },1000); }, _remove : function($dialog,opts){ if(timerInterval)clearInterval(timerInterval); $.tmUtil._animateClose($dialog,opts); }, _zindex:function(){ var arr = []; $(".tmui-modal").each(function(){ arr.push($(this).css("z-index")); }); var max = Math.max.apply({},arr)*1 || 100; max++; return max; }, window : function(options){ options = $.extend({},$.tmDialog.defaults,options); var $wp = $("#tm_window_"+options.id); if(isNotEmpty($wp.html())){ var max = $.tmDialog._zindex(); $wp.show().css({"zIndex":max}); $wp.next().css({"zIndex":(max-1)}); return; } options.id = "tm_window_"+options.id;/*给id重命名*/ options.showBottom = false; options.showIcon = false; if(!options.showCenter){//是否居中显示 options.top = this._limitRandom(30,60); options.left = this._limitRandom(300,400); } var $window = this._init(options); $window.find(".tmui-modal-body").html("
"); if(!options.ajax){ var iframe=document.createElement("iframe"); iframe.id = "tmiframe_"+options.id ; iframe.width= options.width; iframe.height = options.height; iframe.scrolling = "auto"; iframe.frameborder = "no"; iframe.src = options.content; iframe.style.display ="none"; iframe.style.border ="0"; $(iframe).attr("frameborder","no"); $window.find(".tmui-modal-body").css({"overflowX":"hidden","overflowY":"auto","height":options.height}).append(iframe); $(iframe).load(function(){ $window.find("#tmDialog_loading").remove(); iframe.style.display ="block"; }); }else{ $window.find(".tmui-modal-body").css({"height":options.height}).load(options.content,function(){ $window.find(".tmui-modal-close-proxy").on("click",function(){ $window.fadeOut("slow",function(){ $window.next().remove(); $window.remove(); }); }); $window.tmDrag({handle:$window.find(".tmui-drag-header")});//是否允许拖动 }); } $window.find(".tmui-modal-header").css("paddingLeft",3).prepend("
 "); $window.find(".tmui-modal-toolbars").append(""); $window.find(".tmui-modal-min").on("click",function(){ $window.tmDrag({handle:$window.find(".tmui-modal-header")});//是否允许拖动 }); var max = $.tmDialog._zindex(); $window.show().css("zIndex",max); $window.next().css({"zIndex":(max-1)}); /*附加代理层*/ $("#tmui_resizable").remove(); $("body").append("
"); /*添加resize边角*/ $window.append("
" + "
" + "
" + "
" + "
" + "
" + "
" + "
"); /*最大化*/ $window.find(".tmui-modal-max").off().on("click",function(){ var open = $(this).data("open"); var max = $.tmDialog._zindex(); $window.css("zIndex",max); var width = $.tmUtil._getClientWidth(); var height = $.tmUtil._getClientHeight(); if(isEmpty(open)){ var styleData = $window.attr("style"); $(this).data({"open":"open","style":styleData}); $window.css({left:0,top:1,width:"100%",height:height-70}); $(this).find("span").text("■"); $window.find(".tmui-modal-header").css("cursor","default").off(); $window.find("iframe").height(height).width(width); $window.find(".tmui-modal-body").height(height).width(width); }else{ $window.attr("style",$(this).data("style")); $window.find("iframe").height($window.height()).width($window.width()); $window.find(".tmui-modal-body").height(height).width(width); $window.tmDrag({handle:$window.find(".tmui-modal-header")});//是否允许拖动 $(this).find("span").text("□"); $(this).removeData("open"); $(this).removeData("style"); } if(options.maxcallback)options.maxcallback($window,options); }); $window.find(".tmui-modal-min").off().on("click",function(){ if(options.mincallback)options.mincallback($window,options); var max = $.tmDialog._zindex(); $window.css("zIndex",max); }); if(!options.showMax){ $window.find(".tmui-modal-min").css("right",45); $window.find(".tmui-modal-max").remove(); } if(!options.showMin)$window.find(".tmui-modal-min").remove(); if(!options.showHeader){ $window.find(".tmui-modal-header").css({"position":"absolute","width":"100%","height":47,"zIndex":2}); $window.hover(function(){ $(this).find(".tmui-modal-header").show(); },function(){ $(this).find(".tmui-modal-header").hide(); }); } if(!options.removeHeader){ $window.find(".tmui-modal-header").remove(); } if(options.showResize){ var windowDom = $window.get(0); var oL = $window.find(".tmui-resize-ll").get(0); var oT = $window.find(".tmui-resize-tt").get(0); var oR = $window.find(".tmui-resize-rr").get(0); var oB = $window.find(".tmui-resize-bb").get(0); var oLT = $window.find(".tmui-resize-tr").get(0); var oTR = $window.find(".tmui-resize-tl").get(0); var oBR = $window.find(".tmui-resize-br").get(0); var oLB = $window.find(".tmui-resize-bl").get(0); /*四角*/ this._windowResize(windowDom, oLT, true, true, false, false,options); this._windowResize(windowDom, oTR, false, true, false, false,options); this._windowResize(windowDom, oBR, false, false, false, false,options); this._windowResize(windowDom, oLB, true, false, false, false,options); /*四边*/ this._windowResize(windowDom, oL, true, false, false, true,options); this._windowResize(windowDom, oT, false, true, true, false,options); this._windowResize(windowDom, oR, false, false, false, true,options); this._windowResize(windowDom, oB, false, false, true, false,options); }else{ $window.find(".tmui-resize").remove(); } }, _windowResize : function(oParent, handle, isLeft, isTop, lockX, lockY,opts){ var dragMinWidth = opts.limitWidth; var dragMinHeight = opts.limitHeight; handle.onmousedown = function (event){ var max = $.tmDialog._zindex(); $(oParent).css("zIndex",max); var e = event || window.event; var disX = e.clientX - handle.offsetLeft; var disY = e.clientY - handle.offsetTop; var iParentTop = oParent.offsetTop; var iParentLeft = oParent.offsetLeft; var iParentWidth = oParent.offsetWidth; var iParentHeight = oParent.offsetHeight; document.onmousemove = function (event){ var e = event || window.event; var iL = e.clientX - disX; var iT = e.clientY - disY; var maxW = document.documentElement.clientWidth - oParent.offsetLeft - 2; var maxH = document.documentElement.clientHeight - oParent.offsetTop - 2; var iW = isLeft ? iParentWidth - iL : handle.offsetWidth + iL; var iH = isTop ? iParentHeight - iT : handle.offsetHeight + iT; isLeft && (oParent.style.left = iParentLeft + iL + "px"); isTop && (oParent.style.top = iParentTop + iT + "px"); iW < dragMinWidth && (iW = dragMinWidth); iW > maxW && (iW = maxW); lockX || (oParent.style.width = iW + "px"); iH < dragMinHeight && (iH = dragMinHeight); iH > maxH && (iH = maxH); lockY || (oParent.style.height = iH + "px"); if((isLeft && iW == dragMinWidth) || (isTop && iH == dragMinHeight)) document.onmousemove = null; $(oParent).find("iframe").height(iH).width(iW); $(oParent).find(".tmui-modal-body").height(iH).width(iW); return false; }; document.onmouseup = function (){ document.onmousemove = null; document.onmouseup = null; }; return false; }; } }; $.fn.tmDrag = function (settings) { return this.each(function () { var $drag = $(this),options = $.extend({},$.fn.tmDrag.defaults,$.fn.tmDrag.defaults.parseOptions(this),settings), // 拖动对象 $handle = options.handle ? $drag.find(options.handle) : $drag, // 拖动区域对象 $zoom = $(options.zoom), // 拖动开始的位置 startPos = {}, dragFix = {}, // body 默认 cursor cursor = $("body").css("cursor"), // 默认的 zIndex 值 zIndex = $drag.css("z-index"), // 是否正在拖动 isDraging = 0,ghsotDiv; $handle.css("cursor", "move"); _checkPosition($drag); if(!options.isDrag)return; // html4 拖拽 $handle.mousedown(function (e) { var evt = e || event; if(evt.which==3 || evt.button==2)return; var left = $drag.offset().left; var top = $drag.offset().top; $drag.css({top:top,left:left,"margin":0,"position":"absolute"}); if(options.ghsot){ghsotDiv = options.ghsotEvent($drag);} if (!isDraging) { _ondragstrart(e); return false; } }); $(document).mousemove(function (e) { if (isDraging) { _ondragpos(e); return false; } }).mouseup(function (e) { if (isDraging) { _ondragpos(e, true); return false; } }); /** * 检查拖动对象的position * @return {undefined} */ function _checkPosition() { if (!$drag.css("position")) { $drag.css({ position: "absolute", left: 0, top: 0 }); } } /** * 开始拖动 * @param {Object} event对象 * @return {undefined} */ function _ondragstrart(e) { isDraging = 1; startPos.screenX = e.screenX; startPos.screenY = e.screenY; startPos.left = $drag.offset().left; startPos.top = $drag.offset().top; $parentbox = options.parent; boxHeight = $(window).height()+$(window).scrollTop()-($drag.height()/5); boxWidth = $.tmUtil._getClientWidth()-($drag.width()/5); if($parentbox){ limitLeft =$parentbox.offset().left; limitTop = $parentbox.offset().top; //limitWidth = $parentbox.width(); //limitHeight = $parentbox.height(); } var max = $.tmDialog._zindex(); $drag.css("zIndex",max); options.ondragstart.call($drag, e); $("body").css("cursor", "move"); } /** * 改变拖拽位置 * @param {Object} event对象 * @return {undefined} */ function _ondragpos(e, isStop) { // 正在拖动并且不支持html5 if (isDraging) { var _left = e.screenX - startPos.screenX + startPos.left; var _top = e.screenY - startPos.screenY + startPos.top; if($parentbox){ if(_leftboxHeight)_top = boxHeight+8; if(_left>boxWidth)_left=boxWidth+8; }else{ if(_left<(boxWidth*-1))_left= boxWidth*-1; if(_top<2)_top=2; if(_left>boxWidth)_left = boxWidth; if(_top>boxHeight)_top=boxHeight-options.arrowTop; } if(isNotEmpty(options.arrow) && options.arrow=="left"){ _top = $drag.offset().top; } if(isNotEmpty(options.arrow) && options.arrow=="top"){ _left = $drag.offset().left; } dragFix.left = _left; dragFix.top = _top; /*镜像处理*/ if(options.ghsot){ ghsotDiv.css({left:_left+"px",top:_top+"px"}); }else{ /*普通处理*/ $drag.offset({left: _left,top: _top}); } } // 停止 if (isStop && isDraging) { if(options.ghsot){ $drag.css({left:dragFix.left,top:dragFix.top}); ghsotDiv.remove(); } //$drag.css("z-index", zIndex); isDraging = 0; options.ondragend.call($drag, e); $("body").css("cursor", cursor); } else { options.ondrag.call($drag, e); } } }); }; $.fn.tmDrag.defaults = { // 鼠标操作区域 handle: "", parent:"", arrow:"", arrowTop:30, isDrag:true, // 拖动的时候层级的高度 zIndex: 999, // 拖动开始回调 ondragstart: function () {}, // 拖动中回调 ondrag: function () {}, // 拖动结束回调 ondragend: function () {}, ghsot:true, ghsotEvent:function($this){ var ghsotDiv = $("
"); var selfHeight = $this.outerHeight(true);//容器自身的高度加border var selfWidth = $this.outerWidth(true);//容器自身的宽度加border var $offset = $this.offset(); $("body").append(ghsotDiv); ghsotDiv.css({zIndex:999,border:"2px dotted #f9f9f9","boxShadow":"0px 0px 1.5em #111",opacity:0.35,position:"absolute",width:selfWidth,height:selfHeight}); return ghsotDiv; } }; $.fn.tmDrag.defaults.parseOptions = function(target){ var $this = $(target); var ghsot = true; var arrow = ""; var parent = ""; var handle = ""; var ghsotp = $this.attr("ghsot"); var arrowp = $this.attr("arrow"); var parentp = $this.attr("parent"); var handlep = $this.attr("handle"); if(isNotEmpty(ghsotp) && ghsotp=="false")ghsot=false; if(isNotEmpty(arrowp))arrow = arrowp; if(isNotEmpty(parentp))parent = $("#"+parentp); if(isNotEmpty(handlep))handle = $("#"+handlep); return { ghsot:ghsot, arrow:arrow, parent:parent, handle:handle }; }; $.tmDialog.defaults = { id:"",//标示符 ajax:false, open:"top",//打开方式。如果是default的话没有动画效果 //关闭动画的效果 fade left top default slide,other animateBefore:"before",//如果open不是默认的动画效果,如果为true打开为前置动画,false为后置动画 position:"fixed",//定位方式 single:false,//是否采用单例模式 width:358,//宽度 height:228,//高度 colors:[],//换肤 drag:true,//是否允许拖拽 shake:false,//是否抖动代开 showIcon:true,//是否显示图标 showBottom:true,//是否显示底部 showHeader:false,//是否显示头部 showResize:true,//是否resize showMin:true,//是否显示最小化 showMax:true,//是否显示最大化 showClose:true,//是否显示关闭 showCenter:false,//默认随机显示位置 showOverlay:true,//是否需要阴影层 removeHeader:true,//删除头 zindex:"", overlayHide:false,// icon:"success",//默认按钮 limitWidth :360,//resize限制宽度 limitHeight:88,//resize限制宽度 wicon:"",//窗体图标 message:false,//消息设置 title:"提示",//标题 value:"",//prompt的值 left:'40%',//设定left top:'40%',//设定top timer:"",//几秒关闭 content:"请输入内容....",//显示的内容 cancleText:"取消",//取消按钮文件 sureText :"确定",//确定按钮文件 textarea:false,//prompt的展示 finish:function(){ }, loadSuccess:function(){ }, validator:function($input){ return true; }, callback:function(ok){ }, mincallback:function(){ }, maxcallback:function(){ } }; $.tmLoading = function(content,options){ var opts = $.extend({},$.tmLoading.defaults,options); if($(".tmui-loading").length==0)$("body").append('
'); var $loading = $(".tmui-loading"); if(opts.skin=="black"){ $(".tmui-loading").css({background:"#3e4146","color":"#fff","border":"1px solid #555"}); } if(opts.overlay){ var overlayHeight = Math.max($.tmUtil._getClientHeight(),document.body.scrollHeight,document.documentElement.scrollHeight); $("body").append("
"); $(".tmui_loading_overlay").on("click",function(){ $loading.slideUp(250,function(){ $(this).remove(); clearInterval(loadingTimer); }); $(this).remove(); }).css({"opacity":"0.6","z-index":"999","height":overlayHeight}).show(); } if(!opts.showLoad)$loading.find("#tm-loading-content").css("background","none"); if(content=="remove"){ $loading.slideUp(250,function(){ opts.timeSuccess($loading); $(".tmui_loading_overlay").remove(); if(opts._remove)$loading.remove(); }); }else{ if(isEmpty(content))content = opts.content ; $loading.show().find("#tm-loading-content").html(content); var selfWidth = $loading.width(); var selfHeight = $loading.height(); var left = ($.tmUtil._getClientWidth()-selfWidth)/2; var top = ($.tmUtil._getHeight()-selfHeight)/2; if(isNotEmpty(opts.left))left= opts.left; if(isNotEmpty(opts.top))top = opts.top; $loading.css({left:left,top:top}); opts.callback($loading,opts); var loadingTimer = null; if(opts.timer>0){ loadingTimer = setTimeout(function(){ $loading.slideUp(250,function(){ clearInterval(loadingTimer); opts.timeSuccess($loading); $(".tmui_loading_overlay").remove(); if(opts._remove)$loading.remove(); });},opts.timer*1000); }else{ $(".tmui_loading_overlay").remove(); if(opts._remove)$loading.remove(); } } }; $.tmLoading.defaults = { top:"", left:"", timer:0, _remove:false, skin:"black", content:"loading...", showLoad:true, overlay:false, timeSuccess:function(){ }, callback:function($this,opts){ if(opts._remove){ $this.on("click",function(){ $this.slideUp(250,function(){ $(this).remove(); }); $(".tmui_loading_overlay").remove(); }); }else{ $this.on("click",function(){ $this.slideUp(250,function(){ $(this).hide(); }); $(".tmui_loading_overlay").remove(); }); } } }; /*loading plugin end*/ /*tpAjax*/ $.tpAjax = { request : function(options,dataJson){ var opts = $.extend({},{limit:true,beforeSend:function(){ //tmLoading("数据处理中,请稍后...",1); },error:function(){ },callback:function(data){ }},options); var _url = opts.url; if(isEmpty(_url)){ _url = jsonPath+"/"+opts.model+"/"+opts.method+"?ajax=true"; } if(isNotEmpty(opts.params)){ _url+="&"+opts.params; } if(opts.limit){ clearTimeout(ajaxTimeout); ajaxTimeout = setTimeout(function(){ $.tpAjax.ajaxMain(opts,_url,dataJson); },200); }else{ $.tpAjax.ajaxMain(opts,_url, dataJson); } }, ajaxMain:function(opts,_url,dataJson){ $.ajax({ type:"post", data : dataJson, url : _url, beforeSend:function(){opts.beforeSend();}, error:function(){tmLoading("抱歉!因为操作不能够及时响应,请稍后在试...",1);opts.error();clearTimeout(ajaxTimeout);}, success:function(data){ if(data.result=="logout"){ $.tmLogin._dialogLogin(); }else if(data.result=="frontLogout"){ window.location = "/tp/login/login.html"; }else{ if(opts.callback)opts.callback(data); } clearTimeout(ajaxTimeout); } }); } }; })(jQuery);