惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
T
The Blog of Author Tim Ferriss
MongoDB | Blog
MongoDB | Blog
B
Blog RSS Feed
N
News and Events Feed by Topic
GbyAI
GbyAI
I
InfoQ
P
Privacy & Cybersecurity Law Blog
AWS News Blog
AWS News Blog
Cisco Talos Blog
Cisco Talos Blog
C
Check Point Blog
Recent Announcements
Recent Announcements
D
Darknet – Hacking Tools, Hacker News & Cyber Security
D
Docker
P
Proofpoint News Feed
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Scott Helme
Scott Helme
C
CERT Recently Published Vulnerability Notes
Apple Machine Learning Research
Apple Machine Learning Research
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
N
News and Events Feed by Topic
C
CXSECURITY Database RSS Feed - CXSecurity.com
Microsoft Security Blog
Microsoft Security Blog
L
LangChain Blog
W
WeLiveSecurity
S
Securelist
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
www.infosecurity-magazine.com
www.infosecurity-magazine.com
K
Kaspersky official blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Schneier on Security
Schneier on Security
Stack Overflow Blog
Stack Overflow Blog
S
Security Affairs
NISL@THU
NISL@THU
O
OpenAI News
Vercel News
Vercel News
C
Cyber Attacks, Cyber Crime and Cyber Security
Y
Y Combinator Blog
T
Tor Project blog
G
GRAHAM CLULEY
T
Tailwind CSS Blog
博客园 - Franky
Webroot Blog
Webroot Blog
Simon Willison's Weblog
Simon Willison's Weblog
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
V2EX - 技术
V2EX - 技术
H
Help Net Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
F
Full Disclosure

博客园 - Bruce Tang

SAP模块一句话入门(专业术语的理解) SAP订单结算详解 SAP Datasheet - The Best Online SAP Object Repository ASP.NET MVC5 网站开发实践 VMware S/4 HANA OP 1511虚拟机下载,64G内存限制解决方案 SAP标准教材列表 SAP文章链接 正则表达式30分钟入门教程 SAP ECC6 IDES安装及虚拟机下载 安装完SAP后BASIS的配置流程 常用软件下载 最全的微软msdn原版windows系统镜像和office下载地址集锦 常用WinPE Friends(老友记)(六人行)相关资源 SAP初级书籍(PM相关) 动态执行javascript代码 iframe自适应宽度和高度 Win7下的IE10正式版下载地址 VS2010的JS和CSS折叠插件[JSEnhancements]
JQUERY作者JOHN RESIG自己封装的常用函数
Bruce Tang · 2012-07-04 · via 博客园 - Bruce Tang

//获取元素的样式值。

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
                    }
    }
//获取元素的样式值。
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;
}

height : function() {
   // handle IE 6
   if ($.browser.msie && $.browser.version < 7) {
    var scrollHeight = Math.max(
     document.documentElement.scrollHeight,
     document.body.scrollHeight
    );
    var offsetHeight = Math.max(
     document.documentElement.offsetHeight,
     document.body.offsetHeight
    );

    if (scrollHeight < offsetHeight) {
     return $(window).height() + 'px';
    } else {
     return scrollHeight + 'px';
    }
   // handle "good" browsers
   } else {
    return $(document).height() + 'px';
   }
},

width : function() {
   // handle IE 6
   if ($.browser.msie && $.browser.version < 7) {
    var scrollWidth = Math.max(
     document.documentElement.scrollWidth,
     document.body.scrollWidth
    );
    var offsetWidth = Math.max(
     document.documentElement.offsetWidth,
     document.body.offsetWidth
    );

    if (scrollWidth < offsetWidth) {
     return $(window).width() + 'px';
    } else {
     return scrollWidth + 'px';
    }
   // handle "good" browsers
   } else {
    return $(document).width() + 'px';
   }
}