【发布时间】:2011-06-04 17:03:27
【问题描述】:
我是 jQuery 的新手。请问有人可以回答吗?
我知道我会用下面这行代码将 layer1 设置为 layer2 的位置。
$("#layer1").offset($("#layer2").offset());
如何设置 y 值?我不确定。
谢谢
【问题讨论】:
我是 jQuery 的新手。请问有人可以回答吗?
我知道我会用下面这行代码将 layer1 设置为 layer2 的位置。
$("#layer1").offset($("#layer2").offset());
如何设置 y 值?我不确定。
谢谢
【问题讨论】:
.offest() 的 jQuery 文档如下:
.offset() 返回一个包含 top 和 left 属性的对象。
知道了这一点,你就可以做到以下几点:
var offset = $("#layer2").offset();
$("#layer1").css({
'top' : offset.top,
'left': offset.left
});
或者,您可以根据需要单独设置它们。
$("#layer1").css('top', offset.top); // or...
$("#layer1").css('left', offset.left);
最后,由于您只需要一个值(顶部),因此偏移量太大了;它比你需要的要贵。请改用以下优化的 sn-p。
var top = $('#layer2').css('top');
$('#layer1').css('top', top);
【讨论】:
只需使用/设置 css top 属性
$("#layer1").css("top",$("#layer2").css("top"));
【讨论】:
$("#layer1").css({
'top': $("#layer2").offset().top
});
EDIT .top/.left 似乎是设置器。
EDITv2 可以设置偏移量,但必须通过 .offset() 方法完成。
【讨论】:
根据 http://api.jquery.com/offset/
$("p:last").offset({ top: 10, left: 30 });
可以使用。因此,您应该能够只删除您想要的不想要的。
【讨论】:
使用 offset.top 和 offset.left - 它们是 x 和 y 的.. offset() 本身返回 x 和 y(或顶部和左侧)
【讨论】: