栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在不使用jQuery的情况下获取元素的offset()。top值?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在不使用jQuery的情况下获取元素的offset()。top值?

使用

getBoundingClientRect
if
$el
是实际的DOM对象:

var top = $el.getBoundingClientRect().top;

JSFiddle

小提琴将显示这将获得与jquery的offset top相同的值

编辑 :如注释中所述,这不考虑滚动内容,以下是jQuery使用的代码

https://github.com/jquery/jquery/blob/master/src/offset.js(5/13/2015)

offset: function( options ) {    //...    var docElem, win, rect, doc,        elem = this[ 0 ];    if ( !elem ) {        return;    }    rect = elem.getBoundingClientRect();    // Make sure element is not hidden (display: none) or disconnected    if ( rect.width || rect.height || elem.getClientRects().length ) {        doc = elem.ownerdocument;        win = getWindow( doc );        docElem = doc.documentElement;        return { top: rect.top + win.pageYOffset - docElem.clientTop, left: rect.left + win.pageXOffset - docElem.clientLeft        };    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/381317.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号