js、jQuery 获取文档、窗口、元素的各种值
基于两年开发经验,总结了 javascript、jQuery 获取窗口、文档、元素的各种值
javascript:
文档:是整个document所有的内容
浏览器当前窗口文档body的宽度: document.body.clientWidth;(仅仅是body的width)
浏览器当前窗口文档body的高度: document.body.clientHeight;(仅仅是body的height)
浏览器当前窗口文档body的宽度: document.body.offsetWidth;(width+border);
浏览器当前窗口文档body的高度: document.body.offsetHeight;(height+border);
浏览器整个文档的宽: document.body.scrollWidth;
浏览器整个文档的高: document.body.scrollHeight;
获取竖直滚动条到顶部的垂直高度 (即网页被卷上去的高度)(其他浏览器):document.body.scrollTop;
获取竖直滚动条到顶部的垂直高度 (即网页被卷上去的高度)(ie浏览器): document.documentElement.scrollTop;
获取水平滚动条到左边的水平宽度 (即网页被卷左去的宽度)(其他浏览器): document.body.scrollLeft;
获取水平滚动条到左边的水平宽度 (即网页被卷左去的宽度)(ie浏览器): document.documentElement.scrollLeft;
滚动条中内容的高度:boxx.scrollHeight;//利用这个可以使滚动条一直在底部
网页正文部分上: window.screenTop;
网页正文部分左: window.screenLeft;
获取元素的宽度:clientWidth;(width+padding)
获取元素的高度:clientHeight;(height+padding)
获取元素的宽度:offsetWidth;(width+padding+border)
获取元素的高度:offsetHeight;(height+padding+border)
获取元素最左边距已定位的父级对象的长度(若无父级对象或父级对象没有定位,就是距离文档顶部):offsetLeft
获取元素最上边距已定位的父级对象的长度(若无父级对象或父级对象没有定位,就是距离文档左端):offsetTop
屏幕分辨率的高: window.screen.height
屏幕分辨率的宽: window.screen.width
屏幕可用工作区高度: window.screen.availHeight
屏幕可用工作区宽度: window.screen.availWidth
jQuery:
文档:是包括滚动条所有的内容
获取浏览器显示区域(可视区域)的高度 : $(window).height();
获取浏览器显示区域(可视区域)的宽度 : $(window).width();
获取页面的文档高度:$(document).height();
获取页面的文档宽度 :$(document).width();
浏览器当前窗口文档body的高度: $(document.body).height();
浏览器当前窗口文档body的宽度: $(document.body).width();
获取竖直滚动条到顶部的垂直高度 (即网页被卷上去的高度) :$(document).scrollTop();
获取水平滚动条到左边的水平宽度 (即网页被卷左去的宽度):$(document).scrollLeft();
获取或设置元素的宽度:$(obj).width();(width) 注意只是元素的宽度,不包括padding
获取或设置元素的高度:$(obj).height();(height) 注意只是元素的高度,不包括padding
获取或设置元素的宽度:$(obj).innerWidth(); (width + padding)
获取或设置元素的高度:$(obj).innerHeight(); (height + padding)
获取或设置元素的宽度:$(obj).outerWidth(); (width + padding + border)
获取或设置元素的高度:$(obj).outerHeight(); (height + padding + border)
获取元素的宽度:$(obj).outerWidth(true); (width + padding + border + margin)
获取元素的高度:$(obj).outerHeight(true); (height + padding + border + margin)
某个元素的上边界距文档最上边距离:obj.offset().top;
某个元素的左边界距文档最左边距离:obj.offset().left;
鼠标移动:
screenY:
鼠标相对于显示器屏幕左上角的偏移
pageY:
鼠标相对于页面左上角的偏移 (其值会受滚动条的影响,相当于整个文档,整个页面的Y的值)
IE9之下并不支持这个属性
clientY:
鼠标相对于浏览器窗口左上角的偏移(其值不会受滚动条影响,相对于滚动条当前的位置的浏览窗口的Y值)
注意clientY和pageY的区别,pageY在页面无滚动条或滚动条下拉0的情况下值等同于clientY
event.offsetX 相对容器的水平坐标
event.offsetY 相对容器的垂直坐标
layerY:
如果元素的position样式不是默认的static,我们说这个元素具有定位属性。
在当前触发鼠标事件的元素和它的祖先元素中找到最近的具有定位属性的元素,计算鼠标与其的偏移值,
以找到元素的border的左上角的外交点作为相对点。如果找不到具有定位属性的元素,那么就相对于当前页面计算偏移,此时等同于pageY。
offsetY :
offsetY和layerY的不同在于,前者的在计算偏移值时,相对于元素的border左上角的内交点,
因此当鼠标位于元素的border上时,偏移值是一个负值。
另外offsetY并不在乎触发事件的元素是否有定位属性,它总是相对于触发事件的元素来计算偏移值。
鉴于layerY和offsetY的不同,要兼容的使用二者要注意
1.触发事件的元素一定要设置定位属性。
2.在元素具有上边框border-top的情况下, layerY比offsetY的值多一个border-top的宽度值。
js、jQuery 获取文档、窗口、元素的各种值的更多相关文章
- jquery获取文档高度和窗口高度的例子
jquery获取文档高度和窗口高度,$(document).height().$(window).height() $(document).height():整个网页的文档高度 $(window).h ...
- Js/Jquery获取iframe中的元素
转载: Js/Jquery获取iframe中的元素 - - ITeye技术网站http://java-my-life.iteye.com/blog/1275205 在web开发中,经常会用到ifram ...
- jquery获取文档高度和窗口高度汇总
jquery获取窗口高度和窗口高度,$(document).height().$(window).height() $(document).height():整个网页的文档高度 $(window).h ...
- js和jquery获取文档对象以及滚动条位置
<div style="width:120px;height:120px;border:1px solid red; position:absolute; left:800px; to ...
- Js/Jquery获取iframe中的元素 在Iframe中获取父窗体的元素方法
在web开发中,经常会用到iframe,难免会碰到需要在父窗口中使用iframe中的元素.或者在iframe框架中使用父窗口的元素 js 在父窗口中获取iframe中的元素 1. 格式:window ...
- jQuery中获取文档的高度、可视区域高度以及滚动条距页面顶部的高度
在写页面的时候,经常会碰到这样的情况,就是要获取文档的高度.可视区域高度或者滚动条距页面顶部的高度等情况. 但我总是有些爱搞混淆了,这里还是简单做个笔记吧,这里只限于使用jQuery来获取. 1.获取 ...
- 使用jQuery匹配文档中所有的li元素,返回一个jQuery对象,然后通过数组下标的方式读取jQuery集合中第1个DOM元素,此时返回的是DOM对象,然后调用DOM属性innerHTML,读取该元素 包含的文本信息
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- jQuery全屏滚动插件fullPage.js中文帮助文档API
jQuery全屏滚动插件fullPage.js中文帮助文档API 发现了一个fullPage.js插件,于是百度了一下,还就是这个插件的作用,其实有很多网站都做了全屏滚动的特效,效果也很好看,今天 ...
- javaScript获取文档中所有元素节点的个数
HTML+JS 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...
随机推荐
- OpenStack中部署glance的步骤
OpenStack中部署glance的步骤(基于Ubuntu14.04系统) author:headsen chen 2017-10-13 08:34:35 个人原创,转载请注明作者,出处, ...
- Path通过Selenium模拟浏览器抓取,Windows 64解决selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.方法
1.下载geckodriver.exe: 下载地址:https://github.com/mozilla/geckodriver/releases请根据系统版本选择下载:(如Windows 64位系统 ...
- Atlas安装配置
准备环境 192.168.1.1(Altas) 192.168.1.2(MySQL主) 192.168.1.3(MySQL从) 官方链接:https://github.com/Qihoo360/Atl ...
- 用JNDI连接数据库
之前说到了利用Java中的Properties类读取properties配置文件,连接数据库,现在说另一种方法,他们的目的和作用都是一样的,都是为了提高代码的复用性,解决了更改数据库 时还要更改代码的 ...
- Maven-11: 从命令行调用插件
mvn -h显示mvn命令帮助: usage: mvn [options] [<goal(s)>] [<phase(s)>] Options: -am,--also-make ...
- linux --> 获取系统启动时间
获取系统启动时间 一.前言 时间对操作系统来说非常重要,从内核级到应用层,时间的表达方式及精度各部相同.linux内核里面用一个名为jiffes的常量来计算时间戳.应用层有time.getdaytim ...
- APP专业的开发公司都有这样一套开发流程,强烈建议收藏!
下面让我们来剖析到底是如何开发App的呢? 1.App界面设计开发: 通过客户提出需求,需要头脑风暴得出合适的方案和设计理念; 确认页面风格,确定整个界面的布局.关键截面的设计.文字.及其他的设计 G ...
- 将 Shiro 作为应用的权限基础 四:shiro的配置说明
Apache Shiro的配置主要分为四部分: SecurityManager的配置 URL过滤器的配置 静态用户配置 静态角色配置 其中,由于用户.角色一般由后台进行操作的动态数据,比如通过@Req ...
- JS常见操作,日期操作,字符串操作,表单验证等
复制代码 //第一篇博文,希望大家多多支持 /***** BasePage.js 公共的 脚本文件 部分方法需引用jquery库 *****/ //#region 日期操作 //字符串转化为时间. f ...
- react native 增量升级方案(转)
前言 facebook的react-native给我们带来了用js写出原生应用的同时,也使得使用RN编写的代码的在线升级变得可能,终于可以不通过应用市场来进行升级,极大的提升了app修bug和赋予新功 ...