本文实例讲述了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程序设计有所帮助。
本文向大家介绍jQuery与js实现颜色渐变的方法,包括了jQuery与js实现颜色渐变的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery与js实现颜色渐变的方法。分享给大家供大家参考,具体如下: 1.目的 本来想的是 提示用户应该点某个按钮 这个功能,就想着让这个按钮div的边框变成醒目的颜色然后逐渐变白。 在网上搜了搜,本来想使用jQuery的animate,后来发现这
本文向大家介绍jquery及js实现动态加载js文件的方法,包括了jquery及js实现动态加载js文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jquery及js实现动态加载js文件的方法。分享给大家供大家参考,具体如下: 问题: 如果用jquery append直接加载script标签的话,会报错的。除了document.write外,还有没有其他的比较好的动态加载js文件
本文向大家介绍jQuery及JS实现循环中暂停的方法,包括了jQuery及JS实现循环中暂停的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery及JS实现循环中暂停的方法。分享给大家供大家参考。具体分析如下: 问题: jquery对数组进行循环,如果要求每次循环的时候暂停2秒钟,在使用jQuery的.earch循环的时候,无论怎么设置,都不会暂停。 setTimeout也只是
本文向大家介绍js实现跨域的方法实例详解,包括了js实现跨域的方法实例详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js实现跨域的方法。分享给大家供大家参考。具体分析如下: 由于同源策略的限制,XMLHttpRequest只允许请求当前源(包含域名、协议、端口)的资源。 json与jsonp的区别: JSON是一种数据交换格式,而JSONP是一种依靠开发人员创造出的一种非官方跨域数据
本文向大家介绍js实现进度条的方法,包括了js实现进度条的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js实现进度条的方法。分享给大家供大家参考。具体实现方法如下: 1.setTimeout和clearTimeout 效果图: 2.setInterval和clearInterval 效果图: 3.setTimeout和setInterval区别 setTimeout() 只执行 c
本文向大家介绍JS轮播图的实现方法,包括了JS轮播图的实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了JS轮播图的实现代码,供大家参考,具体内容如下 需求: 自动轮播,鼠标移入轮播停止、移出继续,小圆点点击切图,左右箭头切图 效果图: 思路 通过编写过渡动画实现轮播效果,图片的出现动画以及移出动画。显示区的图片移出,切换的图进入分别调用动画,程序关键点:哪张图应该进入,哪张图