原创

使用js实现 jquery 中 offset() 方法

使用jQuery中的offset()的方法 offset().top或offset().left很方便地取得元素相对于整个页面的偏移,而js不能获得绝对偏移,因此采用节点递归的方式来获得绝对偏移,代码具体如下:

function getOffset(Node, offset) {
    if (!offset) {
offset = {};
offset.top = 0;
offset.left = 0;
    }
    //当该节点为body节点时,结束递归
    if (Node == document.body) {
return offset;
    }
    offset.top += Node.offsetTop;
    offset.left += Node.offsetLeft;
    return getOffset(Node.parentNode, offset);
}

使用方式如下:

var a = document.getElementById('a');
getOffset(a).top
getOffset(a).left
~阅读全文~人机检测~

关注下方微信公众号“Java精选”(w_z90110),回复关键词领取资料:如Mysql、Hadoop、Dubbo、Spring Boot等,免费领取视频教程、资料文档和项目源码。

Java精选专注程序员推送一些Java开发知识,包括基础知识、各大流行框架(Mybatis、Spring、Spring Boot等)、大数据技术(Storm、Hadoop、MapReduce、Spark等)、数据库(Mysql、Oracle、NoSQL等)、算法与数据结构、面试专题、面试技巧经验、职业规划以及优质开源项目等。其中一部分由小编总结整理,另一部分来源于网络上优质资源,希望对大家的学习和工作有所帮助。

评论

分享:

支付宝

微信