0

嗨,我有一个图像,我得到并使用它存储到变量中

var position = $(".portfolio-items a").offset();

但由于某种原因它返回

Object { top=1227.5, left=416.5}

我将如何四舍五入并在末尾添加 px 以便我可以将其分配给一个新元素以将其放置在当前元素的顶部?

谢谢。

我已将该站点上传到 www.pixelcoding.co.uk,以便您可以查看问题所在。当您单击 AJLComputers 投资组合链接时,新图像应显示在旧图像之上,但垂直偏移约 200 像素。

4

2 回答 2

1

您可以按原样使用该对象。

var position = $(".portfolio-items a").offset();
$( '#new-item' ).offset( position );
于 2013-01-30T11:37:04.353 回答
0

只需Math.round()在返回的位置上使用:

var position = $(".portfolio-items a").offset(),
    top = Math.round(position.top) + 'px',
    left = Math.round(position.left) + 'px';

这将始终适当地四舍五入(因此向下四舍五入0.4到,向上四舍五入);如果你总是想四舍五入,那么你可以使用代替:00.51Math.ceil()Math.round()

var position = $(".portfolio-items a").offset(),
    top = Math.cel(position.top) + 'px',
    left = Math.ceil(position.left) + 'px';

Math.floor()正如您可能想象的那样,还有一个总是向下舍入为整数。

但是,虽然您可以使用这些函数,但没有必要这样做,因为 jQuery 可以并且将按原样使用它们。

参考:

于 2013-01-30T11:36:57.770 回答