使用javascript获取多个图像的位置
我想要实现的是,当用户停止滚动时,我希望将最靠近中心的图像定位到中心。我想,这将涉及到我运行一系列的使用javascript获取多个图像的位置,javascript,Javascript,我想要实现的是,当用户停止滚动时,我希望将最靠近中心的图像定位到中心。我想,这将涉及到我运行一系列的if语句来确定哪个图像离中心最近。我将能够做到这一点,但在此之前,我得到的补偿是错误的。我正在努力让我的头周围得到的图像定位的我知道这有点与偏移,但我需要一些指导,因为偏移值是不正确的。看看这个链接,看看其中的函数setupHscroll,看看getImageOffset,我想这就是问题所在 function getImageOffset() { var arr = new Array;
if
语句来确定哪个图像离中心最近。我将能够做到这一点,但在此之前,我得到的补偿是错误的。我正在努力让我的头周围得到的图像定位的我知道这有点与偏移,但我需要一些指导,因为偏移值是不正确的。看看这个链接,看看其中的函数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;
}
函数getImageOffset(){
var-arr=新数组;
var images=document.getElementById(“容器”).getElementsByTagName(“img”);
对于(变量i=0,l=images.length;i$.offset()
功能引入jQuery
否则,请尝试以下操作:在您的简单示例中,您可以执行以下操作:对于每个图像(或者更好的是,每个包含它的
),将其偏移宽度
增加一半。然后取#container
的offsetWidth
并将其除以2,然后减去其marginLeft
样式属性的量
找到其值与此值最接近的图像,您就完成了操作。更不用说只需获得BoundingClientRect并减去它和真正的jQuery就可以了!!为什么?但是谢谢。为什么Jquery??我可以给你100个理由