博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js常用函数
阅读量:7091 次
发布时间:2019-06-28

本文共 4919 字,大约阅读时间需要 16 分钟。

//获取元素的样式值。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”;       }    }//设置透明度    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;}

 

转载于:https://www.cnblogs.com/BigIdiot/p/3292215.html

你可能感兴趣的文章
android 区分wifi是5G还是2.4G(转)
查看>>
多个构造器参数使用构建器
查看>>
模板方法模式(Template Method)
查看>>
创建预编译头 Debug 正常 Release Link Error:预编译头已存在,使用第一个 PCH
查看>>
asp.net上传文件夹权限配置以及权限配置的分析
查看>>
IPC's epoch 6 is less than the last promised epoch 7
查看>>
C语言 · 寂寞的数
查看>>
android Menu 笔记
查看>>
Apache2.2和Apache2.4中httpd.conf配置文件 权限的异同
查看>>
error:Flash Download failed-“Cortex-M3”,“Programming Algorithm”【转】
查看>>
小tips:JS之break,continue和return这三个语句的用法
查看>>
【Java】Java_09 类型转换
查看>>
AndroidStudio gradle配置
查看>>
poj3067 Japan(树状数组)
查看>>
Nvidia驱动正确安装过程
查看>>
双节点weblogic集群安装
查看>>
【HDU 2586】LCA模板
查看>>
[java面试]关于多态性的理解
查看>>
Hibernate核心类和接口具体介绍
查看>>
常见的MIME类型
查看>>