0

我想要实现的是当用户停止滚动时,我想将最接近中心的图像定位到中心。我认为,这将涉及我运行一系列if语句来确定哪个图像最接近中心。我将能够做到这一点,但在此之前我得到的偏移量是错误的。我正在努力解决图像定位问题,我知道这与偏移有关,但我需要一些指导,因为偏移值不正确。看看这个链接http://bit.ly/PDz2JD看看setupHscroll里面的函数,getImageOffset我认为这就是问题所在。

function getImageOffset() {
   var arr = new Array;
   var images = document.getElementById("container").getElementsByTagName("img");
   for (var i = 0, l = images.length; i < l; i++) {
       arr.push(images[i].offsetLeft);
       console.log(images[i].offsetLeft - rect.left);
   }
   return arr;
}

请帮助,如果可能的话,帮助我理解。谢谢,我是否使用正确的方法来获取图像的位置。

4

2 回答 2

0

http://www.w3.org/TR/cssom-view/#offset-attributes

offsetLeft 将检索相对于 offsetParent 的偏移量。

如果可以的话,我会建议为该$.offset()功能引入 jQuery。

否则,试试这个:http ://www.quirksmode.org/js/findpos.html

于 2012-08-21T23:33:34.647 回答
0

在您的简单情况下,您可以执行以下操作:对于每个图像(或者更好的<div>是,包含它的每个图像),取它offsetLeft并添加它的一半offsetWidth。然后取offsetWidthof#container并将其除以 2,然后减去其marginLeftstyle 属性的数量。

找到其值最接近此图像的图像,然后您就完成了。

于 2012-08-21T23:34:47.033 回答