首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

Jquery著者John Resig自己封装的javascript 常用函数

2012-10-28 
Jquery作者John Resig自己封装的javascript 常用函数//获取元素的样式值。function getStyle(elem,name){if

Jquery作者John Resig自己封装的javascript 常用函数

//获取元素的样式值。function getStyle(elem,name){     if(elem.style[name]){         return elem.style[name];     }else if(elem.currentStyle){         return elem.currentStyle[name];     }else if(document.defaultView&&document.defaultView.getComputedStyle){         name=name.replace(/([A-Z])/g,"-$1");         name=name.toLowerCase();         var s=document.defaultView.getComputedStyle(elem,"");         return s&&s.getPropertyValue(name);     }else{         return null     }}//获取元素相对于这个页面的x和y坐标。   function pageX(elem){     return elem.offsetParent?(elem.offsetLeft+pageX(elem.offsetParent)):elem.offsetLeft;}function pageY(elem){     return elem.offsetParent?(elem.offsetTop+pageY(elem.offsetParent)):elem.offsetTop;}//获取元素相对于父元素的x和y坐标。       function parentX(elem){     return elem.parentNode==elem.offsetParent?elem.offsetLeft:pageX(elem)-pageX(elem.parentNode);}function parentY(elem){     return elem.parentNode==elem.offsetParent?elem.offsetTop:pageY(elem)-pageY(elem.parentNode);}//获取使用css定位的元素的x和y坐标。function posX(elem){     return parseInt(getStyle(elem,"left"));}   function posY(elem){     return parseInt(getStyle(elem,"top"));}//设置元素位置。   function setX(elem,pos){     elem.style.left=pos+"px";}   function setY(elem,pos){     elem.style.top=pos+"px";}//增加元素X和y坐标。   function addX(elem,pos){     set(elem,(posX(elem)+pos));}function addY(elem,pos){     set(elem,(posY(elem)+pos));}//获取元素使用css控制大小的高度和宽度   function getHeight(elem){     return parseInt(getStyle(elem,"height"));}function getWidth(elem){     return parseInt(getStyle(elem,"width"));}//获取元素可能,完整的高度和宽度function getFullHeight(elem){     if(getStyle(elem,"display")!="none"){         return getHeight(elem)||elem.offsetHeight;     }else{         var old=resetCss(elem,{display:"block",visibility:"hidden",position:"absolute"});         var h=elem.clientHeight||getHeight(elem);         restoreCss(elem,old);         return h;     }}function getFullWidth(elem){     if(getStyle(elem,"display")!="none"){         return getWidth(elem)||elem.offsetWidth;     }else{         var old=resetCss(elem,{display:"block",visibility:"hidden",position:"absolute"});         var w=elem.clientWidth||getWidth(elem);         restoreCss(elem,old);         return w;     }}//设置css,并保存旧的cssfunction resetCss(elem,prop){     var old={};     for(var i in prop){         old[i]=elem.style[i];         elem.style[i]=prop[i];     }     return old;}function restoreCss(elem,prop){     for(var i in prop){         elem.style[i]=prop[i];     }}//显示和隐藏function show(elem){  elem.style.display=elem.$oldDisplay||"";}function hide(elem){  var curDisplay=getStyle(elem,"display");  if(curDisplay!="none"){    elem.$oldDisplay=curDisplay;    elem.style.display="none";  }}//设置透明度 setOpacity(elem,40)function setOpacity(elem,num){  if(elem.filters){    elem.style.filter="alpha(opacity="+num+")";  }else{    elem.style.opacity=num/100;  }}//滑动function slideDown(elem){     var h=getFullHeight(elem);     elem.style.height="0px";     show(elem);     for(var i=0;i<=100;i+=5){         new function(){             var pos=i;             setTimeout(function(){elem.style.height=(pos/100*h)+"px";},(pos*10));         }     }}//渐变function fadeIn(elem){            show(elem);         setOpacity(elem,0);     for(var i=0;i<=100;i+=5){         new function(){                   var pos=i;                   setTimeout(function(){setOpacity(elem,pos);},(pos+1)*10);                   }         }     }//获取鼠标光标相对于整个页面的位置。   function getX(e){     e=e||window.event;     return e.pageX||e.clientX+document.body.scrollLeft;     }function getY(e){     e=e||window.event;     return e.pageY||e.clientY+document.body.scrollTop;     }//获取鼠标光标相对于当前元素的位置。function getElementX(e){     return (e&&e.layerX)||window.event.offsetX;     }function getElementY(e){     return (e&&e.layerY)||window.event.offsetY;     }//获取页面的高度和宽度function getPageHeight(){     var de=document.documentElement;     return document.body.scrollHeight||(de&&de.scrollHeight);     }function getPageWidth(){     var de=document.documentElement;     return document.body.scrollWidth||(de&&de.scrollWidth);     }//获取滚动条的位置。function scrollX(){     var de=document.documentElement;     return self.pageXOffset||(de&&de.scrollLeft)||document.body.scrollLeft;     }function scrollY(){     var de=document.documentElement;     return self.pageYOffset||(de&&de.scrollTop)||document.body.scrollTop;     }//获取视口的高度和宽度。function windowHeight() {     var de = document.documentElement;     return self.innerHeight||(de && de.offsetHeight)||document.body.offsetHeight;}function windowWidth() {     var de = document.documentElement;     return self.innerWidth||( de && de.offsetWidth )||document.body.offsetWidth;}

?[转自:http://www.jb51.net/article/20809.htm]

热点排行