jQuery--offset()方法

定义

offset() 方法返回或设置匹配元素相对于文档的偏移(位置)。

用法一 返回偏移坐标

返回第一个匹配元素的偏移坐标。

该方法返回的对象包含两个整型属性:topleft,以像素计。此方法只对可见元素有效。

语法:

$(selector).offset()

范例:

<script type="text/javascript">
$(function(){
	$("button").click(function(){
	  var obj =$("p").offset();
	  $("#span1").text(obj.left);
	  $("#span2").text(obj.top);
	});
});
</script>
<p>本段落的偏移是 <span id="span1">unknown</span> left 和 <span id="span2">unknown</span> top。</p>
<button>获得 offset</button>

在这里插入图片描述

用法二 设置偏移坐标

设置所有匹配元素的偏移坐标。

语法:

$(selector).offset(value)
参数描述
value必需。规定规定以像素计的 top 和 left 坐标。
可能的值:
1、键值对,比如{top:100,left:0}
2、带有top和left属性的对象
<script type="text/javascript">
$(function(){
	$("button").click(function(){
    $("p").offset({top:100,left:100});
	})
})
</script>
<p>This is a paragraph.</p>
<button>设置新的偏移</button>

在这里插入图片描述
点击后
在这里插入图片描述

用法三 使用函数来设置偏移坐标

使用函数来设置所有匹配元素的偏移坐标。

语法:

$(selector).offset(function(index,oldoffset))
参数描述
function(index,oldoffset)规定返回被选中元素新偏移坐标的函数
1、index【可选】接收选择器的index位置
2、oldvalue【可选】接收选择器的当前坐标(旧坐标)
$(function(){
  $("button").click(function(){
    $("p").offset(function(n,c){
    	newPos=new Object();
        newPos.left=c.left+100;
        newPos.top=c.top+100;
        console.log(n);
        return newPos;
    });
  });
});
<p>这是一个段落。</p>
<button>设置 p 元素的 offset 坐标</button>

在这里插入图片描述
点一次
在这里插入图片描述
再点
在这里插入图片描述


实例

鼠标移动时,获取鼠标在div内的相对坐标

$(function(){
  $("div").on("mousemove",function(){
     var x = parseInt(event.pageX-$(this).offset().left);
     var y = parseInt(event.pageY-$(this).offset().top);
     $(this).html("鼠标位置:"+x+","+y);
  })
})

在div上移动鼠标
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值