javascript中

ele.getBoundingClientRect():获取一个元素相对于浏览器视口的的坐标(无论父元素定位与否),返回一个Object对象,该对象有6个属性:top/left/right/bottom/width/height。几乎所有浏览器都支持该方法。jQuery中没有直接的方法,需要用$(ele).offset().top-$(document).scrollTop()计算得到。
注意:right是指元素右边界距窗口最左边的距离,bottom是指元素下边界距窗口最上面的距离。
pageYOffset 属性是scrollY属性的别名,设置或返回文档在垂直方向滚动的像素值。window.pageYOffset == window.scrollY;前者浏览器兼容性更好。
所以获取元素在页面文档中的位置:
var X= ele.getBoundingClientRect().left+scrollTop; var Y =ele.getBoundingClientRect().top+scrollTop; //在窗口的位置+文档滚动掉的尺寸
为了跨浏览器兼容,文档卷掉的长度请使用如下方式:
varscrollTop= document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;
jQuery中
1.鼠标相对于页面的位置
event.pageX/event.pageY:鼠标相对于页面左/上边缘的距离。
2.元素的位置偏移量
offset():返回包含top和left两个属性的对象,相对于document文档的坐标。
position():返回包含top和left两个属性的对象,相对于最近的已定位的包含元素的位置。若无,则相对于document。只对可见元素有效,注意ele{visibility:hidden}也属于可见元素。
3.元素的宽高
width()/height():获得或设置元素【内容】的宽/高;若元素的display:none,其值为0。
innerWidth()/innerHeight():获得包括内边距(padding)的元素宽度/高度,不包括边框;
outerWidth()/outerHeight():获得包括内边距(padding)和边框(border)的元素宽度/高度;
outerWidth(true)/outerHeight(true):获得整个元素的宽度/高度,包括外边距、边框、内边距和内容;
注意:
1)ele.css("height"):返回带有完整单位的字符串(例如400px),若运算需要parseInt转换。ele.height():返回一个没有单位的number数值(例如400)。
2)height()总是返回内容宽度,不管CSS box-sizing属性值。若CSS box-sizing为border-box,将造成这个函数改变这个容器的outerHeight,而不仅是原来的内容高度。
4.浏览器相关宽高
$(window).height():获取浏览器可视窗口的高度;
$(document).height():获取整个网页文档的高度;当网页高度不足浏览器窗口时,返回的是$(window).height()。
$(document).scrollTop():document元素相对document元素对应的滚动条顶部的垂直偏移量,可获取已滚动的距离或设置将要滚动的距离。
即:当网页滚动条拉到最低端时,$(document).height() == $(window).height() + $(window).scrollTop()。
注意:不建议使用$("html").height()、$("body").height()这样的方法获取高度,原因有:
$("body").height():body可能会有边框,获取的高度会比$(document).height()小;
$("html").height():在不同的浏览器上获取的高度会有差异,浏览器不兼容。
$(window).height()若返回的不是浏览器窗口的高度,可能是网页没有加上<!DOCTYPE>声明。
# javascript
# 获取元素
# jquery
# 获取元素位置
# js jquery 获取某一元素到浏览器顶端的距离实现方法
# JS与jQuery实现子窗口获取父窗口元素值的方法
# 使用jquery/js获取iframe父子级、同级获取元素的方法
# JavaScript和jquery获取父级元素、子级元素、兄弟元素的方法
# js jquery获取当前元素的兄弟级 上一个 下一个元素
# Js与Jq 获取页面元素值的方法和差异对比
# js与jquery获取父级元素
# 子级元素
# 兄弟元素的实现方法
# js与jquery获取父元素
# 删除子元素的两种不同方法
# JS和JQUERY获取页面大小
# 滚动条位置
# 元素位置(示例代码)
# 原生JS与JQ获取元素的区别详解
# 相对于
# 文档
# 会有
# 鼠标
# 是指
# 滚动条
# 的是
# 偏移量
# 而不
# 请使用
# 仅是
# 会比
# 几乎所有
# 不包括
# 拉到
# 只对
# 若无
# 需要用
# 值为
# 不兼容
相关文章:
php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】
官网自助建站平台指南:在线制作、快速建站与模板选择全解析
建站之星如何取消后台验证码生成?
威客平台建站流程解析:高效搭建教程与设计优化方案
如何选择高效稳定的ISP建站解决方案?
无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?
PHP 500报错的快速解决方法
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
网站制作公司排行榜,抖音怎样做个人官方网站
韩国服务器如何优化跨境访问实现高效连接?
小程序网站制作需要准备什么资料,如何制作小程序?
上海网站制作网站建设公司,建筑电工证网上查询系统入口?
建站之星导航菜单设置与功能模块配置全攻略
建站之星伪静态规则如何设置?
北京网站制作公司哪家好一点,北京租房网站有哪些?
魔方云NAT建站如何实现端口转发?
大同网页,大同瑞慈医院官网?
如何挑选优质建站一级代理提升网站排名?
如何在万网开始建站?分步指南解析
如何选择香港主机高效搭建外贸独立站?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
网站制作的方法有哪些,如何将自己制作的网站发布到网上?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
如何用VPS主机快速搭建个人网站?
建站之星伪静态规则如何正确配置?
招贴海报怎么做,什么是海报招贴?
中山网站制作网页,中山新生登记系统登记流程?
如何获取上海专业网站定制建站电话?
专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?
如何通过智能用户系统一键生成高效建站方案?
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
如何在万网自助建站平台快速创建网站?
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
建站之星导航配置指南:自助建站与SEO优化全解析
导航网站建站方案与优化指南:一站式高效搭建技巧解析
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
建设网站制作价格,怎样建立自己的公司网站?
如何使用Golang table-driven基准测试_多组数据测量函数效率
如何使用Golang安装API文档生成工具_快速生成接口文档
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
如何快速搭建高效简练网站?
在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
建站之星2.7模板快速切换与批量管理功能操作指南
如何在建站宝盒中设置产品搜索功能?
如何用低价快速搭建高质量网站?
如何在宝塔面板中创建新站点?
高端企业智能建站程序:SEO优化与响应式模板定制开发
如何通过多用户协作模板快速搭建高效企业网站?
西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?
*请认真填写需求信息,我们会在24小时内与您取得联系。