我想要实现的是当用户停止滚动时我想将最近的图像定位到中心到中心。我认为,这将涉及我运行一系列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;
}
请帮忙,如有可能帮助我理解。谢谢,我使用正确的东西来获取图像的位置。
答案 0 :(得分:0)
请参阅http://www.w3.org/TR/cssom-view/#offset-attributes
offsetLeft将检索相对于offsetParent的偏移量。
如果可以,我建议为$.offset()
功能引入jQuery。
答案 1 :(得分:0)
在您的简单情况下,您可以执行以下操作:对于每个图像(或更好,每个<div>
包含它),取其offsetLeft
并添加其offsetWidth
的一半。然后取offsetWidth
#container
并将其除以2,然后减去其marginLeft
样式属性的数量。
找到最接近这个值的图像,然后就完成了它。