jQuery .offset 设置 y 值

发布于 2024-10-10 15:53:34 字数 180 浏览 6 评论 0原文

我是 jQuery 的新手。有人可以回答这个问题吗?

我知道我将使用以下代码行将图层 1 设置为图层 2 的位置。

$("#layer1").offset($("#layer2").offset());

我怎样才能设置y值?我对此不太确定。

谢谢

I am a newbie to jQuery. Could someone answer this please?

I know I will set layer1 to the position of layer2 with the following line of code.

$("#layer1").offset($("#layer2").offset());

How can I just set the y-value? I'm not sure about that.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

探春 2024-10-17 15:53:34

.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);

最后,由于您只需要一个值(顶部),因此 offset 是多余的;它比你需要的更贵。请改用以下优化片段。

var top = $('#layer2').css('top');
$('#layer1').css('top', top);

The jQuery documentation for .offest() reads:

.offset() returns an object containing the properties top and left.

Knowing this, you can accomplish the following:

var offset = $("#layer2").offset();
$("#layer1").css({
    'top' : offset.top,
    'left': offset.left
});  

Or, you can set them individually, per your requirement.

$("#layer1").css('top', offset.top);  // or...
$("#layer1").css('left', offset.left);

Finally, since you only need a single value (top), offset is overkill; it's more expensive than you need. Use the following, optimized snippet instead.

var top = $('#layer2').css('top');
$('#layer1').css('top', top);
夜司空 2024-10-17 15:53:34

只需使用/设置 css top 属性

$("#layer1").css("top",$("#layer2").css("top"));

Just use/set the css top property

$("#layer1").css("top",$("#layer2").css("top"));
嘿看小鸭子会跑 2024-10-17 15:53:34
$("#layer1").css({
  'top': $("#layer2").offset().top
});

编辑 .top/.left 似乎是设置器。
EDITv2 可以设置偏移量,但必须通过 .offset() 方法完成。

$("#layer1").css({
  'top': $("#layer2").offset().top
});

EDIT .top/.left appears to be setters.
EDITv2 the offset can be set but must be done through .offset() method.

驱逐舰岛风号 2024-10-17 15:53:34

根据
http://api.jquery.com/offset/

$("p:last").offset({ top: 10, left: 30 });

可以使用 。因此,您应该能够删除您想要不想要的内容。

According to
http://api.jquery.com/offset/

$("p:last").offset({ top: 10, left: 30 });

can be used. As such you should be able to just remove what you want don't want.

百变从容 2024-10-17 15:53:34

使用 offset.top 和 offset.left - 这些是 x 和 y 的.. offset() 本身返回 x 和 y (或顶部和左侧)

Use offset.top and offset.left - those are the x and y's.. offset() in itself returns both x and y (or top and left)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文