jQuery方法区别(二)position()与offset()区别

在写菜单随页面滚动选中的功能时候,用到了jQuery的offset().top和jQuery.position().top,查了一下:

使用jQuery获取元素位置时,我们会使用position()或offset()方法,两个方法都返回一个包含两个属性的对象-左边距和上边距,它们两个的不同点在于位置的相对点不同。

可以看看下边的图:

position()同offset()的区别

从图中我们可以大体看出两者的区别。position()获取相对于它最近的具有相对位置(position:relative)的父级元素的距离,如果找不到这样的元素,则返回相对于浏览器的距离。

offset()始终返回相对于浏览器文档的距离,它会忽略外层元素。

下边看个简单的例子,这里外层的div元素(position:relative)仅一个:

<div id="outer" style="width:200px;position:relative;left:100px;">
    <div id="inner" style="position:absolute;left:50px;top:60px;">           
    </div>
</div>
//获取相对于最近的父级(position:relative)的位置
var vposition = $("#inner").position();
alert(vposition.left);   //输出:50
alert(vposition.top);    //输出:60

var voffset = $("#inner").offset();
alert(voffset.left);   //输出:$("#outer").offset().left+50
alert(voffset.top);    //输出:$("#outer").offset().top+60

在不同浏览器中,offset()得到的相对于浏览器的位置不同,相信你看了上边相应的注释,已经掌握了position()同offset()方法的区别。

转自:http://www.jquery001.com/position()-offset().html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
jQuery是一个功能强大的JavaScript库,它简化了JavaScript的编码工作。而仿WPS菜单是指通过使用jQuery来实现类似WPS软件中的菜单效果。 首先,我们需要在HTML文件中引入jQuery库的相关文件。可以通过下载jQuery的压缩版本文件并将其放置在项目的文件夹中,然后使用`<script>`标签将其引入到HTML文件中。 然后,我们需要编写jQuery代码来实现仿WPS菜单效果。首先,我们可以使用jQuery的选择器来选中需要添加菜单效果的HTML元素。例如,可以选中顶部导航栏中的菜单按钮以及菜单弹出框。 接下来,我们可以使用jQuery的事件绑定方法,如`click()`来监听菜单按钮的点击事件。当菜单按钮被点击时,我们可以使用jQuery的动画效果,如`slideDown()`或`fadeIn()`来展示菜单弹出框。 同时,我们还可以使用jQuery的其他方法和属性来对菜单弹出框进行样式和位置的调整。例如,可以使用`css()`来设置菜单弹出框的宽度、高度、背景颜色等样式,使用`position()`和`offset()`方法来设置菜单弹出框的位置。 在菜单弹出框展示之后,我们可以通过监听菜单项的点击事件来实现相应的功能。例如,可以使用`click()`事件来监听菜单项的点击,并执行相应的操作,如显示下拉菜单、跳转到其他页面等。 最后,我们可以使用jQuery的事件绑定方法来监听其他事件,如鼠标移出菜单按钮区域时隐藏菜单弹出框的事件。例如,可以监听菜单弹出框以外的区域的点击事件,并使用`slideUp()`或`fadeOut()`方法来隐藏菜单弹出框。 综上所述,通过使用jQuery库的相关方法和属性,我们可以方便地实现仿WPS菜单的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值