源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

js工具方法弹出蒙版

  • 时间:2022-04-09 23:38 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:js工具方法弹出蒙版
[u]复制代码[/u] 代码如下:
//工具方法弹出蒙版 add by dning 2012-11-4 var maskShow = (function () {     var mask = null;     var curr = null;     var free = false;     var func = {         onresize: null,         onscroll: null     };     return function (el, fre, Type) {         if (!mask) {             initMask();         }         free = !!fre;         if (el == null) {             show(curr, false);             show(mask, false);             showSelects(true); //for ie6             curr = null;             if (!free) for (var s in func) {                 window[s] = func[s];                 func[s] = null;             }         } else {             if (curr)                 show(curr, false);             curr = $(el)[0];             checkVisib(curr);             rePos();             mask.style.zIndex = maskShow.zIndexBack || 15;             curr.style.zIndex = maskShow.zIndexFore || 20;             show(curr, true);             show(mask, true);             showSelects(false, el); //for ie6             if (!free) for (var s in func) {                 func[s] = window[s];                 window[s] = rePos;             }         }         if (Type == 0) {             mask.style.width = document.body.clientWidth + 'px';             mask.style.height = document.body.clientHeight + 'px';             if (el) el.style.position = "fixed";         } else {             mask.style.width = "0px";             mask.style.height = "0px";             if (el) el.style.position = "absolute";         }     };     function showSelects(b, box) {         if (!browser.IE6) return;         var sel = document.getElementsByTagName('select');         var vis = b ? 'visible' : 'hidden';         for (var i = 0; i < sel.length; i++) {             if ((b || !childOf(sel[i], box)) && sel[i].currentStyle.visibility != vis) sel[i].style.visibility = vis;         }     }     function childOf(a, b) {         while (a && a != b) a = a.parentNode;         return a == b;     }     function initMask() {         /*         mask=document.createElement('iframe');         mask.src='://0';         */         mask = document.createElement('div');         mask.style.cssText = 'background-color:{$c};border:none;position:absolute;visibility:hidden;opacity:{$a};filter:alpha(opacity={$A})'.replaceWith({             c: maskShow.bgColor || '#000',             a: maskShow.bgAlpha || '0.5',             A: maskShow.bgAlpha ? parseInt(maskShow.bgAlpha * 100) : '50'         });           document.body.appendChild(mask);         maskShow.mask = mask;     }     function checkVisib(el) {         var sty = el.style;         sty.position = 'absolute';         sty.left = '-10000px';         sty.top = '-10000px';         sty.visibility = 'visible';         sty.display = 'block';         sty.zIndex = 10;     }     function rePos() {         if (!curr) return;         var ps = $pageSize('doc');         setRect(mask, ps);         var rc = centerPos(ps, curr.offsetWidth, curr.offsetHeight);         if (rc.left < ps.scrollLeft) rc.left = ps.scrollLeft;         if (rc.top < ps.scrollTop) rc.top = ps.scrollTop;         setRect(curr, rc);     }     function centerPos(ps, cw, ch) {         return {             left: ((ps.winWidth - cw) >> 1) + ps.scrollLeft + (maskShow.adjustX || 0),             top: ((ps.winHeight - ch) >> 1) + ps.scrollTop + (maskShow.adjustY || 0)         };     }     function setRect(el, rect) {         var sty = el.style;         sty.left = (rect.left || 0) + 'px';         sty.top = (rect.top || 0) + 'px';         if ('width' in rect)             sty.width = rect.width + 'px';         if ('height' in rect)             sty.height = rect.height + 'px';     }     function show(el, b) {         if (!el) return;         el.style.visibility = 'visible';         if (!b) {             el.style.left = -el.offsetWidth - 100 + 'px';             el.style.top = -el.offsetHeight - 100 + 'px';         }     } })();
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部