| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 | 
							- /*预加载处理区域*/
 
- Namespace.register("U.MD");
 
- //#region 加载js css等
 
- /**
 
- * 添加styleText
 
- *
 
- * @param  {string} 需要定位的右键菜单
 
- * @param  {element} 需要定位的右键菜单
 
- */
 
- U.M.CCssStyle = function (UST) {
 
-     //UST
 
-     var _UDOD = document.documentElement.firstChild, //获取head标签
 
-     _UDSD = $$("style", {}); //创建一个style标签 
 
-     if (_UDSD.styleSheet) { //html5兼容
 
-         _UDSD.styleSheet.cssText = UST;
 
-     }
 
-     else { //ie兼容
 
-         _UDSD.appendChild(document.createTextNode(UST));
 
-     }
 
-     _UDOD.appendChild(_UDSD); document.body.offsetHeight; //添加设置和执行
 
-     return _UDSD;
 
- }
 
- /**
 
- * jsonp初始化对象
 
- *
 
- * @param  {string} 获取的地址 例如:"http://cbjs.baidu.com/js/m.js"。
 
- * @param  {string} //获取的类型
 
- ----------js 获取js文件
 
- ----------css 获取css文件
 
- * @param  {function} 回调函数
 
- * @param  {object} { "src": "http://cbjs.baidu.com/js/m.js", "type": "text/javascript" }
 
- * @param  {boolean}  是否重复加载文件
 
- * @return  {element} 加载的元素
 
- */
 
- U.MD.DynamicLoad = function (UURL, UTP, UCB, UDE, UTF) {
 
-         var i, _UDTD, _UDAD,
 
-         _UAE = [UTP == "js" ? "script" : UTP],
 
-          _UHD = $("head");
 
-         UTP = UTP.toLocaleLowerCase(); //访问的类型
 
-         _UDAD = $(_UAE[0]); //获取所有相同类型的文件
 
-         if (!UTF) {//判断文件是否添加
 
-             for (i = 0; i < _UDAD.length; i++) {
 
-                 if (_UDAD[i].src == UURL) {
 
-                     _UDTD = _UDAD[i]; break;
 
-                 }
 
-             }
 
-         }
 
-         if (!_UDTD || UTF) { //设置异步回调
 
-             _UDTD = $$(_UAE, UDE || (UTP == "js" ? { "src": UURL, "type": "text/javascript", "language": "javascript", "charset": "utf-8"} : { "href": UURL, "type": "text/css", "rel": "stylesheet" }));
 
-             _UHD.append(_UDTD, 0, _UHD[0].firstChild);
 
-         }
 
-         U.MD.IframeLoad(_UDTD, UCB); return _UDTD;
 
- }
 
- /**
 
- * 设置异步加载文件或者iframe
 
- * @param  {element} 加载的元素
 
- ----------$("iframe", { "id": _UTP, "name": _UTP, "width": 0, "height": 0, "style": { "display": "none" }, "src": _UDE[i][1] }, _UCS)的iframe对象。
 
- * @param  {function} 回调函数
 
- */
 
- U.MD.IframeLoad = function (UDOD, UCB) {
 
-     try { var _UCP = UDOD.complete, _URS = UDOD.readyState; } catch (e) { }
 
-     if (_UCP == "complete" && ((_URS == "complete" || _URS == "loaded") || _URS == null)) {
 
-         U.M.apply(UDOD, UCB)(); return;
 
-     }
 
-     else {
 
-         (UDOD.onreadystatechange) && (UCB = U.M.apply(UDOD, [[UDOD.onreadystatechange], [UCB]]));
 
-         UDOD.onreadystatechange = U.M.apply(UDOD, [[U.MD.IframeLoad.AILD, [UDOD, UCB]]]);
 
-     }
 
-     return UDOD;
 
- }
 
- /**
 
- * onload成功进入
 
- * @param  {element} 加载的元素
 
- * @param  {function} 回调函数
 
- */
 
- U.MD.IframeLoad.AILD = function (UDOD, UCB) {
 
-     var _URS = UDOD.readyState;
 
-     (_URS == "complete" || _URS == "loaded" || _URS == null) && (UDOD.complete = "complete", UDOD.onreadystatechange = null, (U.Ut.isFunction(UCB) ? UCB.call(UDOD) : U.M.apply(UDOD, UCB)()), UDOD.complete = null);
 
- }
 
- ////判断文件是否存在
 
- //U.MD.ISWJCZ = function () {
 
- //    $.ajax(UURL, "", UCB, "", { "type": "get" });
 
- //}
 
- /**
 
- 设置元素loading
 
- 问题:
 
- ----添加一个参数,允许往loading中传递元素。
 
- ----在第一个loading数据量大未出数据的时候,点第二个loading,第二个先获取到数据,会否第二个会先出效果。
 
- ----由于第一次点击数据量大,后台是否能够第二个数据先出。
 
- ----由于第一次点击数据量大,前台loading的效果是否支持第二以及后续点击先出。
 
- *
 
- * @param  {element} 元素
 
- * @param  {boolean} loading类型
 
- ------------true 、 false 两种loading   
 
- */
 
- U.MD.loading = function (UDOD, UTF) {
 
-     if (UDOD) {
 
-         var i, _UAE, _UDTD, _UDPD = $(UDOD).Parent(),
 
-         _UDSD = UDOD ? UDOD.__ULOADElement__ : null, //该元素的loading元素
 
-         _USE = { width: "", height: "", overflow: "", padding: "", borderWidth: "", minHeight: "", minWidth: "", cssText: "" }; //loading设置样式区域
 
-         if (_UDSD) {//loading存在添加计数
 
-             if (UDOD != _UDSD) { _UDSD.P++; }
 
-         }
 
-         else {  //无loading 需要loading的情况
 
-             _UDSD = UDOD.__ULOADElement__ = $$("div", { "P": 0, "className": UDOD.className, //这个为loading元素
 
-                 "style": { "cssText": UDOD.style.cssText + ";" + ($(UDOD).css("display") == "none" ? "display:block" : "") },
 
-                 "onresize": [[U.MD.loading.Donresize, ["this"]]]
 
-             });
 
-             if (UTF === true) {//loading样式1
 
-                 $$("div", { "style": { "cssText": "overflow:hidden;width:40px;height:20px;background:url('/img/loading.gif') 0px 0px no-repeat;margin:auto"} }, _UDSD);
 
-             }
 
-             else { //loading样式2
 
-                 $$("div", { "style": { "cssText": "position:relative;width:" + (UTF && UTF.width ? UTF.width : "33px") + ";height:" + (UTF && UTF.height ? UTF.height : "33px") + ";background:url('" + (UTF && UTF.img ? UTF.img : "/img/UAL.gif") + "') 0px 0px no-repeat;margin:auto"} }, _UDSD);
 
-             }
 
-             try { _UDPD.insertBefore(_UDSD, UDOD); } //loading 添加到指定的位置
 
-             catch (e) { }
 
-             //loading样式设置
 
-             U.MD.loading.Donresize(_UDSD, UDOD, UTF);
 
-             _UAE = UDOD.style;
 
-             _$(_USE).Each(function (USV, UTP) { _USE[UTP] = _UAE[UTP]; });
 
-             //原元素缩小
 
-             (UDOD = $(UDOD)).addAttrArray({ "__UCS__": _USE, "style": { "cssText": "width:0px;overflow:hidden;height:0px;padding:0;min-height:0px;min-width:0px;border-width:0px;"} });
 
-         }
 
-         return _UDSD;
 
-     }
 
- }
 
- /**
 
- * loading变化设置
 
- * @param  {element} 当前loading元素
 
- */
 
- U.MD.loading.Donresize = function (UDOD, UDTD, UTF) {
 
-     if (UDOD["P"] > -1) { //loading变化设置
 
-         var _UDAD = $("div", UDOD),
 
-         _UH = $(UDOD).height() - _UDAD[0].offsetHeight; //loading大小变化
 
-         _UDAD[0].style.top = (_UH > 0 ? _UH : 0) / 2 + "px"; //loading图片位置设定
 
-     }
 
-     else { //取消loading
 
-         U.MD.uploading(UDOD);
 
-     }
 
- }
 
- /**
 
- * 取消loading
 
- * @param  {element} 当前loading元素
 
- */
 
- U.MD.uploading = function (UDOD) {
 
-     UDOD = UDOD[0] || UDOD; //需要loading元素
 
-     var i, _UAE = ["__ULOADElement__", "__UCS__"], //loading元素遗留参数
 
-     _UDTD = UDOD[_UAE[0]],  //loading
 
-     _UME = UDOD[_UAE[1]], //需loading元素原样式
 
-     _UCE = UDOD.style,
 
-     _UDE = { "width": "0px", "height": "0px", "overflow": "hidden", "padding": "0px", "borderWidth": "0px", "minHeight": "0px", "minWidth": "0px" }; //元素变回参数
 
-     //判断元素是否已经可以结束loading
 
-     if (_UDTD && ((_UDTD["P"]--) == 0)) {
 
-         for (i in _UDE) {
 
-             if (_UDE.hasOwnProperty(i)) {
 
-                 //设置或者取消原参数
 
-                 if (_UDE[i] == _UCE[i]) { _UDE[i] = _UME[i]; }
 
-                 else { delete _UDE[i]; }
 
-             }
 
-         };
 
-         UDOD["__UCS__"] = null; //设置样式
 
-         $(_UDTD).remove(); //移除loading
 
-         $(UDOD).addAttrArray({ "style": _UDE }); //原loading元素样式回归
 
-         //清除残留参数
 
-         try { delete UDOD[_UAE[0]]; delete UDOD[_UAE[1]] }
 
-         catch (e) {
 
-             UDOD.removeAttribute(_UAE[0]);
 
-             UDOD.removeAttribute(_UAE[1]);
 
-         } return true;
 
-     }
 
- }
 
- //#endregion
 
 
  |