快速提问:描述起来很难,所以让我举一个例子。
无论如何都要这样做:(我正在使用jQuery,但这是一般的javascript问题)
。$( 'div.element')偏移()X;
$('div.element')。offset()本身将返回{'x':30,'y':180},所以我只是想知道是否有任何紧凑的方法来做到这一点而不创建一个额外的变量。
谢谢! 马特
答案 0 :(得分:4)
正如你所说,你绝对可以使用它:
$('div.element').offset().left
OR
$('div.element').offset().top
请注意,jQuery的offset()
会返回{ left: 30, top: 180 }
,而不是您所说的x / y对。
答案 1 :(得分:0)
它将始终创建对象。我认为你的意思是.top或.left而不是x / y?
>>> $('#jq-header').offset().left // 177.5
var coords = $('#jq-header').offset()
coords.left // 177.5
coords.top // 0
alert($('body').offset().left) // 0
答案 2 :(得分:-3)
显然,你可以按照你说的那样做:$('div.element').offset().x;
。