zoukankan      html  css  js  c++  java
  • js常用函数

    //获取元素的样式值。
    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,并保存旧的css
    function 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;
    }
  • 相关阅读:
    poj 2312 Battle City
    poj 2002 Squares
    poj 3641 Pseudoprime numbers
    poj 3580 SuperMemo
    poj 3281 Dining
    poj 3259 Wormholes
    poj 3080 Blue Jeans
    poj 3070 Fibonacci
    poj 2887 Big String
    poj 2631 Roads in the North
  • 原文地址:https://www.cnblogs.com/BigIdiot/p/3292215.html
Copyright © 2011-2022 走看看