js实现jquery的offset()方法实例


Posted in Javascript onJanuary 10, 2015

本文实例讲述了js实现jquery的offset()方法。分享给大家供大家参考。具体分析如下:

用过jQuery的offset()的同学都知道offset().top或offset().left很方便地取得元素相对于整个页面的偏移。

而在js里,没有这样直接的方法,节点的属性offsetTop可以获得该节点相对于父节点的相对偏移,但不能直接获得其绝对偏移,我们可用节点逐层递归向上来相加offsetTop来获得绝对偏移。

function getOffset(Node, offset) {

    if (!offset) {

        offset = {};

        offset.top = 0;

        offset.left = 0;

    }
    if (Node == document.body) {//当该节点为body节点时,结束递归

        return offset;

    }
    offset.top += Node.offsetTop;

    offset.left += Node.offsetLeft;
    return getOffset(Node.parentNode, offset);//向上累加offset里的值

}

 

使用时,则如:

var a = document.getElementById('a');

//getOffset(a).top

//getOffset(a).left

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
javascript web对话框与弹出窗口
Feb 22 Javascript
Javascript中this关键字的一些小知识
Mar 15 Javascript
jQuery实现下拉框选择图片功能实例
Aug 08 Javascript
基于jQuery实现自动轮播旋转木马特效
Nov 02 Javascript
去除html代码里面的script正则方法
May 19 Javascript
基于jQuery实现仿百度首页选项卡切换效果
May 29 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
Sep 05 Javascript
javascript中如何判断类型汇总
May 14 Javascript
vue图片上传组件使用详解
Dec 23 Javascript
微信小程序聊天功能的示例代码
Jan 13 Javascript
jquery实现垂直手风琴菜单
Mar 04 jQuery
基于 Vue 的 Electron 项目搭建过程图文详解
Jul 22 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 图片库
Jan 09 #Javascript
《JavaScript DOM 编程艺术》读书笔记之DOM基础
Jan 09 #Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 语法
Jan 09 #Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 简史
Jan 09 #Javascript
javascript获取四位数字或者字母的随机数
Jan 09 #Javascript
JS JQUERY实现滚动条自动滚到底的方法
Jan 09 #Javascript
JavaScript Math.ceil 方法(对数值向上取整)
Jan 09 #Javascript
You might like
用PHP实现将GB编码转换为UTF8
2006/11/25 PHP
PHP实现MVC开发得最简单的方法――模型
2007/04/10 PHP
Ajax实时验证用户名/邮箱等是否已经存在的代码打包
2011/12/01 PHP
PHP编码转换
2012/11/05 PHP
探讨PHP调用时间格式的参数详解
2013/06/06 PHP
YII模块实现绑定二级域名的方法
2014/07/09 PHP
php使用Jpgraph创建3D饼形图效果示例
2017/02/15 PHP
一文看懂PHP进程管理器php-fpm
2020/06/01 PHP
Firefox outerHTML实现代码
2009/06/04 Javascript
JS 排序输出实现table行号自增前端动态生成的tr
2014/08/13 Javascript
IE下通过a实现location.href 获取referer的值
2014/09/04 Javascript
使用Javascript简单实现图片无缝滚动
2014/12/05 Javascript
jQuery添加删除DOM元素方法详解
2016/01/18 Javascript
JS & JQuery 动态添加 select option
2016/06/08 Javascript
JS获取鼠标相对位置的方法
2016/09/20 Javascript
javascript动画系列之模拟滚动条
2016/12/13 Javascript
ES6入门教程之let和const命令详解
2017/05/17 Javascript
详解vue过滤器在v2.0版本用法
2017/06/01 Javascript
微信小程序scroll-view仿拼多多横向滑动滚动条
2020/04/21 Javascript
bootstrap中的导航条实例代码详解
2019/05/20 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
2020/10/29 Javascript
[06:25]第二届DOTA2亚洲邀请赛主赛事第二天比赛集锦.mp4
2017/04/03 DOTA
对于Python装饰器使用的一些建议
2015/06/03 Python
Python对数据进行插值和下采样的方法
2018/07/03 Python
深入了解Python在HDA中的应用
2019/09/05 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
2020/01/08 Python
jupyter 使用Pillow包显示图像时inline显示方式
2020/04/24 Python
CSS Houdini实现动态波浪纹效果
2019/07/30 HTML / CSS
Linden Leaves官网:新西兰纯净护肤品
2020/12/20 全球购物
到底Java是如何传递参数的?是by value或by reference?
2012/07/13 面试题
综合办公室主任职责
2013/12/16 职场文书
入党介绍人评语
2014/05/06 职场文书
股东授权委托书
2014/10/15 职场文书
2014年内勤工作总结
2014/11/24 职场文书
导游欢迎词范文
2015/01/23 职场文书
2015年房产销售工作总结范文
2015/05/22 职场文书