嗨我有一个图像,我得到的位置是使用
存储到变量var position = $(".portfolio-items a").offset();
但由于某种原因它会返回
Object { top=1227.5, left=416.5}
我如何进行四舍五入并在末尾添加px,以便我可以将其分配给一个新元素,将其放在当前顶部的顶部?
感谢。
我已将该网站上传至www.pixelcoding.co.uk,以便您可以看到问题所在。当您点击AJLComputers投资组合链接时,新图像应显示在旧图像上,但垂直偏离约200像素。
答案 0 :(得分:1)
您可以按原样使用该对象。
var position = $(".portfolio-items a").offset();
$( '#new-item' ).offset( position );
答案 1 :(得分:0)
只需在返回的位置使用Math.round()
:
var position = $(".portfolio-items a").offset(),
top = Math.round(position.top) + 'px',
left = Math.round(position.left) + 'px';
这将始终适当地舍入(因此0.4
向向下到0
,0.5
向向上向{{1} });如果您总想要向上舍入,则可以使用1
代替Math.ceil()
:
Math.round()
还有var position = $(".portfolio-items a").offset(),
top = Math.cel(position.top) + 'px',
left = Math.ceil(position.left) + 'px';
,正如您可能想象的那样,总是将向下舍入到整数。
但是当可以使用这些函数时,没有必要这样做,因为jQuery可以并且将会按原样使用它们。
参考文献: