[ Index ] |
PHP Cross Reference of vtigercrm-6.1.0 |
[Summary view] [Print] [Text view]
1 /** 2 * 3 * Utilities 4 * Author: Stefan Petre www.eyecon.ro 5 * 6 */ 7 (function($) { 8 EYE.extend({ 9 getPosition : function(e, forceIt) 10 { 11 var x = 0; 12 var y = 0; 13 var es = e.style; 14 var restoreStyles = false; 15 if (forceIt && jQuery.curCSS(e,'display') == 'none') { 16 var oldVisibility = es.visibility; 17 var oldPosition = es.position; 18 restoreStyles = true; 19 es.visibility = 'hidden'; 20 es.display = 'block'; 21 es.position = 'absolute'; 22 } 23 var el = e; 24 if (el.getBoundingClientRect) { // IE 25 var box = el.getBoundingClientRect(); 26 x = box.left + Math.max(document.documentElement.scrollLeft, document.body.scrollLeft) - 2; 27 y = box.top + Math.max(document.documentElement.scrollTop, document.body.scrollTop) - 2; 28 } else { 29 x = el.offsetLeft; 30 y = el.offsetTop; 31 el = el.offsetParent; 32 if (e != el) { 33 while (el) { 34 x += el.offsetLeft; 35 y += el.offsetTop; 36 el = el.offsetParent; 37 } 38 } 39 if (jQuery.browser.safari && jQuery.curCSS(e, 'position') == 'absolute' ) { 40 x -= document.body.offsetLeft; 41 y -= document.body.offsetTop; 42 } 43 el = e.parentNode; 44 while (el && el.tagName.toUpperCase() != 'BODY' && el.tagName.toUpperCase() != 'HTML') 45 { 46 if (jQuery.curCSS(el, 'display') != 'inline') { 47 x -= el.scrollLeft; 48 y -= el.scrollTop; 49 } 50 el = el.parentNode; 51 } 52 } 53 if (restoreStyles == true) { 54 es.display = 'none'; 55 es.position = oldPosition; 56 es.visibility = oldVisibility; 57 } 58 return {x:x, y:y}; 59 }, 60 getSize : function(e) 61 { 62 var w = parseInt(jQuery.curCSS(e,'width'), 10); 63 var h = parseInt(jQuery.curCSS(e,'height'), 10); 64 var wb = 0; 65 var hb = 0; 66 if (jQuery.curCSS(e, 'display') != 'none') { 67 wb = e.offsetWidth; 68 hb = e.offsetHeight; 69 } else { 70 var es = e.style; 71 var oldVisibility = es.visibility; 72 var oldPosition = es.position; 73 es.visibility = 'hidden'; 74 es.display = 'block'; 75 es.position = 'absolute'; 76 wb = e.offsetWidth; 77 hb = e.offsetHeight; 78 es.display = 'none'; 79 es.position = oldPosition; 80 es.visibility = oldVisibility; 81 } 82 return {w:w, h:h, wb:wb, hb:hb}; 83 }, 84 getClient : function(e) 85 { 86 var h, w; 87 if (e) { 88 w = e.clientWidth; 89 h = e.clientHeight; 90 } else { 91 var de = document.documentElement; 92 w = window.innerWidth || self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth; 93 h = window.innerHeight || self.innerHeight || (de&&de.clientHeight) || document.body.clientHeight; 94 } 95 return {w:w,h:h}; 96 }, 97 getScroll : function (e) 98 { 99 var t=0, l=0, w=0, h=0, iw=0, ih=0; 100 if (e && e.nodeName.toLowerCase() != 'body') { 101 t = e.scrollTop; 102 l = e.scrollLeft; 103 w = e.scrollWidth; 104 h = e.scrollHeight; 105 } else { 106 if (document.documentElement) { 107 t = document.documentElement.scrollTop; 108 l = document.documentElement.scrollLeft; 109 w = document.documentElement.scrollWidth; 110 h = document.documentElement.scrollHeight; 111 } else if (document.body) { 112 t = document.body.scrollTop; 113 l = document.body.scrollLeft; 114 w = document.body.scrollWidth; 115 h = document.body.scrollHeight; 116 } 117 if (typeof pageYOffset != 'undefined') { 118 t = pageYOffset; 119 l = pageXOffset; 120 } 121 iw = self.innerWidth||document.documentElement.clientWidth||document.body.clientWidth||0; 122 ih = self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight||0; 123 } 124 return { t: t, l: l, w: w, h: h, iw: iw, ih: ih }; 125 }, 126 getMargins : function(e, toInteger) 127 { 128 var t = jQuery.curCSS(e,'marginTop') || ''; 129 var r = jQuery.curCSS(e,'marginRight') || ''; 130 var b = jQuery.curCSS(e,'marginBottom') || ''; 131 var l = jQuery.curCSS(e,'marginLeft') || ''; 132 if (toInteger) 133 return { 134 t: parseInt(t, 10)||0, 135 r: parseInt(r, 10)||0, 136 b: parseInt(b, 10)||0, 137 l: parseInt(l, 10) 138 }; 139 else 140 return {t: t, r: r, b: b, l: l}; 141 }, 142 getPadding : function(e, toInteger) 143 { 144 var t = jQuery.curCSS(e,'paddingTop') || ''; 145 var r = jQuery.curCSS(e,'paddingRight') || ''; 146 var b = jQuery.curCSS(e,'paddingBottom') || ''; 147 var l = jQuery.curCSS(e,'paddingLeft') || ''; 148 if (toInteger) 149 return { 150 t: parseInt(t, 10)||0, 151 r: parseInt(r, 10)||0, 152 b: parseInt(b, 10)||0, 153 l: parseInt(l, 10) 154 }; 155 else 156 return {t: t, r: r, b: b, l: l}; 157 }, 158 getBorder : function(e, toInteger) 159 { 160 var t = jQuery.curCSS(e,'borderTopWidth') || ''; 161 var r = jQuery.curCSS(e,'borderRightWidth') || ''; 162 var b = jQuery.curCSS(e,'borderBottomWidth') || ''; 163 var l = jQuery.curCSS(e,'borderLeftWidth') || ''; 164 if (toInteger) 165 return { 166 t: parseInt(t, 10)||0, 167 r: parseInt(r, 10)||0, 168 b: parseInt(b, 10)||0, 169 l: parseInt(l, 10)||0 170 }; 171 else 172 return {t: t, r: r, b: b, l: l}; 173 }, 174 traverseDOM : function(nodeEl, func) 175 { 176 func(nodeEl); 177 nodeEl = nodeEl.firstChild; 178 while(nodeEl){ 179 EYE.traverseDOM(nodeEl, func); 180 nodeEl = nodeEl.nextSibling; 181 } 182 }, 183 getInnerWidth : function(el, scroll) { 184 var offsetW = el.offsetWidth; 185 return scroll ? Math.max(el.scrollWidth,offsetW) - offsetW + el.clientWidth:el.clientWidth; 186 }, 187 getInnerHeight : function(el, scroll) { 188 var offsetH = el.offsetHeight; 189 return scroll ? Math.max(el.scrollHeight,offsetH) - offsetH + el.clientHeight:el.clientHeight; 190 }, 191 getExtraWidth : function(el) { 192 if($.boxModel) 193 return (parseInt($.curCSS(el, 'paddingLeft'))||0) 194 + (parseInt($.curCSS(el, 'paddingRight'))||0) 195 + (parseInt($.curCSS(el, 'borderLeftWidth'))||0) 196 + (parseInt($.curCSS(el, 'borderRightWidth'))||0); 197 return 0; 198 }, 199 getExtraHeight : function(el) { 200 if($.boxModel) 201 return (parseInt($.curCSS(el, 'paddingTop'))||0) 202 + (parseInt($.curCSS(el, 'paddingBottom'))||0) 203 + (parseInt($.curCSS(el, 'borderTopWidth'))||0) 204 + (parseInt($.curCSS(el, 'borderBottomWidth'))||0); 205 return 0; 206 }, 207 isChildOf: function(parentEl, el, container) { 208 if (parentEl == el) { 209 return true; 210 } 211 if (!el || !el.nodeType || el.nodeType != 1) { 212 return false; 213 } 214 if (parentEl.contains && !$.browser.safari) { 215 return parentEl.contains(el); 216 } 217 if ( parentEl.compareDocumentPosition ) { 218 return !!(parentEl.compareDocumentPosition(el) & 16); 219 } 220 var prEl = el.parentNode; 221 while(prEl && prEl != container) { 222 if (prEl == parentEl) 223 return true; 224 prEl = prEl.parentNode; 225 } 226 return false; 227 }, 228 centerEl : function(el, axis) 229 { 230 var clientScroll = EYE.getScroll(); 231 var size = EYE.getSize(el); 232 if (!axis || axis == 'vertically') 233 $(el).css( 234 { 235 top: clientScroll.t + ((Math.min(clientScroll.h,clientScroll.ih) - size.hb)/2) + 'px' 236 } 237 ); 238 if (!axis || axis == 'horizontally') 239 $(el).css( 240 { 241 left: clientScroll.l + ((Math.min(clientScroll.w,clientScroll.iw) - size.wb)/2) + 'px' 242 } 243 ); 244 } 245 }); 246 if (!$.easing.easeout) { 247 $.easing.easeout = function(p, n, firstNum, delta, duration) { 248 return -delta * ((n=n/duration-1)*n*n*n - 1) + firstNum; 249 }; 250 } 251 252 })(jQuery);
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 20:08:37 2014 | Cross-referenced by PHPXref 0.7.1 |