美文网首页
「js/jquery」offsetTop在不同浏览器下的表现

「js/jquery」offsetTop在不同浏览器下的表现

作者: httIsHere | 来源:发表于2020-11-03 11:41 被阅读0次

offsetTop​:元素到offsetParent顶部的距离。
offsetParent距离元素最近的一个具有定位的祖宗元素(relative,absolute,fixed),若祖宗都不符合条件,offsetParent为body。

offsetTop和​offsetLeft与​offsetParent有关

image

所以一旦有具有定位的祖宗元素,则当前元素获取到的​offsetTop​就会偏小。

为了获取正确的元素距离顶部的有效距离,需要对offsetParent的offsetTop进行计算,如果当前元素有offsetParent则当前元素的offsetTop为其offsetTop加上它的offsetParent的offsetTop,如果offsetParent还有它offsetParent则需要一直逐级向上查询,直到body。

function elemOffsetY(elem) {
    return elem.offsetParent ? elem.offsetTop + elemOffsetY(elem.offsetParent) : elem.offsetTop;
}

参考:关于offsetTop的理解

相关文章

  • 「js/jquery」offsetTop在不同浏览器下的表现

    ​offsetTop​:元素到offsetParent顶部的距离。​offsetParent:距离元素最近的一个具...

  • 面试汇总javascript

    获取元素相对于父元素的位移 js: offsetLeft左位移 offsetTop上位移jquery: pos...

  • 浏览器js做简单分页(JQuery)

    浏览器js做简单分页(JQuery) 注意,正经需求千万不要用js在浏览器分页,数据太多浏览器压力会很大,实测4W...

  • JS中offsetTop、clientTop、scrollTop

    JS中offsetTop、clientTop、scrollTop、offsetTop各属性介绍 这里是javasc...

  • jQuery架构

    jQuery兼容很多浏览器,能够方便使用JS动画和各种交互。jQuery的源码结构如下: jQuery中有多个模块...

  • JQuery入门

    零) js / ajax / json / jQuery js: 基于对象, 解释型, 事件驱动, 浏览器交互执行...

  • jQuery选择器_Dom操作_样式_事件处理_动画

    题目1: jQuery 能做什么? jquery能做原生js所做一切,比原生js更简洁,同时也对浏览器做出了兼容,...

  • 【前端】Vue.js 基础篇(上)

    前言 前端开发发展历程,目的都是为了提高开发效率: 原生JS Jquery之类的类库(解决不同浏览器兼容性问题) ...

  • 关于事件循环

    首先,js 是单线程的语言,eventloop是js的执行机制,在不同的运行环境(浏览器或Nodejs)下,执行顺...

  • jQuery

    jQuery: 它是一个使用原生的JS来封装的常用方法的类库(解决了浏览器的兼容问题)jQuery非常强大的地方在...

网友评论

      本文标题:「js/jquery」offsetTop在不同浏览器下的表现

      本文链接:https://www.haomeiwen.com/subject/vfubvktx.html