您的位置:首页 > 其它

获取页面滚动位置或某元素的位置

2014-12-24 00:00 330 查看
一、获取页面滚动位置

function GetPageSize() {

var scrW, scrH;

if(window.innerHeight && window.scrollMaxY) {

// Mozilla

scrW = window.innerWidth + window.scrollMaxX;

scrH = window.innerHeight + window.scrollMaxY;

} else if(document.body.scrollHeight > document.body.offsetHeight){

// all but IE Mac

scrW = document.body.scrollWidth;

scrH = document.body.scrollHeight;

} else if(document.body) { // IE Mac

scrW = document.body.offsetWidth;

scrH = document.body.offsetHeight;

}

var winW, winH;

if(window.innerHeight) { // all except IE

winW = window.innerWidth;

winH = window.innerHeight;

} else if (document.documentElement

&& document.documentElement.clientHeight) {

// IE 6 Strict Mode

winW = document.documentElement.clientWidth;

winH = document.documentElement.clientHeight;

} else if (document.body) { // other

winW = document.body.clientWidth;

winH = document.body.clientHeight;

}

// for small pages with total size less then the viewport

var pageW = (scrW<winW) ? winW : scrW;

var pageH = (scrH<winH) ? winH : scrH;

return {PageW:pageW, PageH:pageH, WinW:winW, WinH:winH};

}

function GetPageScroll() {

var x, y;

if(window.pageYOffset) {alert(1);

// all except IE

y = window.pageYOffset;

x = window.pageXOffset;

} else if(document.documentElement

&& document.documentElement.scrollTop) {alert(2);

// IE 6 Strict

y = document.documentElement.scrollTop;

x = document.documentElement.scrollLeft;

} else if(document.body) {alert(3);

// all other IE

y = document.body.scrollTop;

x = document.body.scrollLeft;

}

return {X:x, Y:y};

}

二、获取页面元素的位置

function gETop(x){var t=0;while(x){t+=x.offsetTop;x=x.offsetParent;}return t;}

function gEBottom(x){return (x.offsetHeight+gETop(x));}

function gELeft(x){var l=0;while(x){l+=x.offsetLeft;x=x.offsetParent;}return l;}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  IE