JS和JQUERY获取页面大小,滚动条位置,元素位置(示例代码)


Posted in Javascript onDecember 14, 2013

js与jquery获得页面大小、滚动条位置、元素位置

//页面位置及窗口大小
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) 
{    // all except IE    
y = window.pageYOffset;    
x = window.pageXOffset; 
} else if(document.documentElement && document.documentElement.scrollTop) 
{    // IE 6 Strict    
y = document.documentElement.scrollTop;    
x = document.documentElement.scrollLeft; 
} else if(document.body) {    // all other IE    
y = document.body.scrollTop;    
x = document.body.scrollLeft;   
} 
return {X:x, Y:y};
}

jquery

获取浏览器显示区域的高度 : $(window).height();
获取浏览器显示区域的宽度 :$(window).width();
获取页面的文档高度 :$(document).height();
获取页面的文档宽度 :$(document).width();

获取滚动条到顶部的垂直高度 :$(document).scrollTop();
获取滚动条到左边的垂直宽度 :$(document).scrollLeft();

计算元素位置和偏移量
offset方法是一个很有用的方法,它返回包装集中第一个元素的偏移信息。默认情况下是相对body的偏移信息。结果包含 top和left两个属性。
offset(options, results)
options.relativeTo

指定相对计 算偏移位置的祖先元素。这个元素应该是relative或absolute定位。省略则相对body。
options.scroll

是否把 滚动条计算在内,默认TRUE
options.padding

是否把padding计算在内,默认false
options.margin

是否把margin计算在内,默认true
options.border

是否把边框计算在内,默认true

Javascript 相关文章推荐
一个多次搜索+多次传值的解决方案
Jan 20 Javascript
jquery uaMatch源代码
Feb 14 Javascript
jquery trigger伪造a标签的click事件取代window.open方法
Jun 23 Javascript
jquery 插件实现多行文本框[textarea]自动高度
Mar 04 Javascript
JS实现样式清新的横排下拉菜单效果
Oct 09 Javascript
AngularJS ng-bind-html 指令详解及实例代码
Jul 30 Javascript
禁用backspace网页回退功能的实现代码
Nov 15 Javascript
AngularJS实现的生成随机数与猜数字大小功能示例
Dec 25 Javascript
Angular入口组件(entry component)与声明式组件的区别详解
Apr 09 Javascript
vue translate peoject实现在线翻译功能【新手必看】
Jun 07 Javascript
原生js实现的移动端可拖动进度条插件功能详解
Aug 15 Javascript
vue vantUI实现文件(图片、文档、视频、音频)上传(多文件)
Oct 15 Javascript
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
Dec 14 #Javascript
js获取url中指定参数值的示例代码
Dec 14 #Javascript
Js实现双击鼠标自动滚动屏幕的示例代码
Dec 14 #Javascript
鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)
Dec 14 #Javascript
js键盘上下左右键怎么触发function(实例讲解)
Dec 14 #Javascript
js 上下左右键控制焦点(示例代码)
Dec 14 #Javascript
利用JS来控制键盘的上下左右键(示例代码)
Dec 14 #Javascript
You might like
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
2010/04/02 PHP
laravel-admin解决表单select联动时,编辑默认没选上的问题
2019/09/30 PHP
仿jQuery的siblings效果的js代码
2011/08/09 Javascript
详谈javascript中DOM的基本属性
2015/02/26 Javascript
jquery实现Ctrl+Enter提交表单的方法
2015/07/21 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
2015/09/19 Javascript
Jquery 效果使用详解
2015/11/23 Javascript
延时加载JavaScript代码提高速度
2015/12/27 Javascript
js 判断一组日期是否是连续的简单实例
2016/07/11 Javascript
利用jquery去掉时光轴头尾部线条的方法实例
2017/06/16 jQuery
nginx部署访问vue-cli搭建的项目的方法
2018/02/12 Javascript
微信小程序dom操作的替代思路实例分析
2018/12/06 Javascript
微信小程序实现工作时间段选择
2019/02/15 Javascript
关于vue属性使用和不使用冒号的区别说明
2020/10/22 Javascript
微信小程序实现星星评分效果
2020/11/01 Javascript
编程语言Python的发展史
2014/09/26 Python
Python外星人入侵游戏编程完整版
2020/03/30 Python
PyTorch搭建多项式回归模型(三)
2019/05/22 Python
利用selenium爬虫抓取数据的基础教程
2019/06/10 Python
python3 tkinter实现点击一个按钮跳出另一个窗口的方法
2019/06/13 Python
对python3 sort sorted 函数的应用详解
2019/06/27 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
2019/08/20 Python
5个你不知道的HTML5的接口介绍
2013/08/07 HTML / CSS
美国现代家具购物网站:LexMod
2019/01/09 全球购物
POS解决方案:MUNBYN(热敏打印机、条形码扫描仪)
2020/06/09 全球购物
国际商务系学生个人的自我评价
2013/11/26 职场文书
大专生简历的自我评价
2013/11/26 职场文书
会计专业自我评价
2014/02/12 职场文书
公司应聘自荐书
2014/06/14 职场文书
毕业生求职信范文
2014/06/29 职场文书
党的群众路线教育实践活动个人对照检查材料范文
2014/09/25 职场文书
迎新生晚会主持词
2015/06/30 职场文书
2016年元旦主持词
2015/07/06 职场文书
导游词之桂林山水
2019/09/20 职场文书
分析mysql中一条SQL查询语句是如何执行的
2021/06/21 MySQL
MySQL 分区表中分区键为什么必须是主键的一部分
2022/03/17 MySQL