offsettop及相关属性介绍

最近的项目中有用到offsetTop属性配合iscroll插件来进行下拉加载的一个效果,经过测试,在其他浏览器都是OK的,但是在iPhone的safari上页面刚加载完以后,滚动部分会有被遮挡一部分,后来发现是因为获取到的offsetTop值在刚开始进来的时候,并不是0,而是120px,这个刚好是节点元素到页面顶部的距离,所以猜测这里应该是offsetparent不对。那么是哪里不对呢?



首先偏移量属性咱们经常会用到offsetLeft、offsetTop、offsetHeight、offsetWidth这四种,然后我们他们的参照点就是offsetParent。我们可以在 HTMLElement.offsetParent里可以看到它只是一个只读属性,而HTMLElement.offsetTop 也是只读属性,它返回当前元素相对于其 offsetParent 元素的顶部内边距的距离。

它的定义是返回一个指向最近的(指包含层级上的最近)包含该元素的定位元素(position不等于static)或者最近的 table,td,th,body元素,在 Webkit 中,如果元素为隐藏的(该元素或其祖先元素的 style.display 为 “none”),或者该元素的 style.position 被设为 “fixed”,则该属性返回 null。

在 IE 9 中,如果该元素的 style.position 被设置为 “fixed”,则该属性返回 null。(display:none 无影响。)

也就是说要获取到正确的offsetTop值,首先要确保它的最近的定位元素不能是fixed和static。其次确保style.display不能为none。

offsettop及相关属性介绍相关推荐

  1. JS中scrollHeight,clientHeight、scrollTop、offsetTop等相关属性介绍

    一.先介绍clientHeight与scrollHeight的区别 clientHeight: 在页面上返回内容的可视高度(不包括边框,边距或滚动条) scrollHeight: 返回整个元素的高度( ...

  2. HTML5学习笔记 —— JavaScript基础知识

    HTML5学习笔记 -- JavaScript基础知识 标签: html5javascriptweb前端 2017-05-11 21:51 883人阅读 评论(0) 收藏 举报 分类: JavaScr ...

  3. clientX与offsetX、clientWidth与offsetWidth的区别

    相关属性介绍 都要结合鼠标事件监听使用 1.client相关属性 获取鼠标位置 鼠标相对于视口的位置 e.clientX e.clientY (e是鼠标对象) 获取节点尺寸 节点.clientWidt ...

  4. 浅谈Iframe和FRAME的区别

    一.Iframe标记的使用 Frame标记即帧标记,我们所说的多帧结构就是在一个浏览器窗口中显示多个HTML文件.现在,我们遇到一种很现实的情况:如有一个教程,是一节一节地上,每页末尾做一个" ...

  5. Flutter基础笔记

    目录 List里面常用的属性和方法: Set Map forEach,map, where,any,every extends抽象类 和 implements Flutter环境搭建 入口文件.入口方 ...

  6. Aidl进程间通信详细介绍

    目录介绍 1.问题答疑 2.Aidl相关属性介绍 2.1 AIDL所支持的数据类型 2.2 服务端和客户端 2.3 AIDL的基本概念 3.实际开发中案例操作 3.1 aidl通信业务需求 3.2 操 ...

  7. Toast源码深度分析

    目录介绍 1.最简单的创建方法 1.1 Toast构造方法 1.2 最简单的创建 1.3 简单改造避免重复创建 1.4 为何会出现内存泄漏 1.5 吐司是系统级别的 2.源码分析 2.1 Toast( ...

  8. c++builder中dbgrid控件排序_如何实现APP中各种布局效果?学会这几个控件就够了...

    学习Flutter有一段时间了,也做了一些APP,但是总感觉对控件的使用一知半解,没有系统的概念,所以特意花了几天时间,把所有的控件都研究了一遍,总结出了常用的控件和使用方法, 俗话说:工欲善其事,必 ...

  9. 让网站和APP更具动感的几点建议

    [编者按]本文来自Smashing Magazine,作者为Brolik的联合创始人.首席创意官Drew Thomas.文中介绍了Web中增加动感设计可带来的好处及进行动感设计的几点建议,如采用图层技 ...

最新文章

  1. oracle解析xml字符串命名空间,XML命名空间
  2. mysql5.58_mysql5.58编译安装手记
  3. 前端实现炫酷动效_20个网页动效设计的炫酷神器
  4. Java中12个原子操作类
  5. android捆绑demo_Android捆绑通知
  6. 计算机控制技术证书可以考吗,计算机控制技术专业可考哪些资格证书
  7. iPhone 真机调试应用程序
  8. C99标准的新特性介绍
  9. Mac上安装eclipse svn插件subclipse
  10. Java 用两个队列实现一个栈
  11. Spring Boot消息服务
  12. 笔记本计算机风扇连线,机箱风扇电源怎么接线?机箱风扇接口知识及接法图解教程...
  13. GTX高速收发器Transceiver概述与收发共同特征(UG476)
  14. 一阶导数和二阶导数的一些性质
  15. manjaro linux树莓派,manjaro
  16. TQFP 和LQFP 器件的焊接方法
  17. 实现用户登录注册代码(高级代码)
  18. 接上篇手工课 材料:美女图片一张, 要求将其制成 边旋转边渐隐的魔幻图片
  19. android开发实例之minitwitter登录界面+代码,登录界面_记住密码
  20. 统计咨询:决定系数(R方)是否越大越好?

热门文章

  1. java下载文件名称各种浏览器兼容问题
  2. 对于查不到sql server代理(mssqlserver),sql server服务器连接不上的解决方法
  3. 【Broadcast】Broadcast的数据结构
  4. Linux防火墙学习笔记12
  5. 冷月虐哭数一之高等数学(1)-递归数列极限的求法和证明
  6. PHP在线智能AI文章伪原创系统源码
  7. 不懂就得问,买流量卡填写身份证号有风险吗?
  8. docker如何一键部署php项目教程
  9. 在虚拟的世界中,自由、平等永远是真正的程序员永久的追求
  10. 专访迈奔灵动CEO谈毅:Android掘金者