获取每个元素的位置 [英] Get position of each element
本文介绍了获取每个元素的位置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
$(function(){
var $animatedEls = $(".marked");
$(window).scroll(function(e) {
var offset = 0;
$.each($animatedEls, function(i, item) {
offset = $(item).offset().top;
console.log($(item).offset());
});
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h2 class="marked">This sucks.</h2>
<div>...</div>
<h2 class="marked">This sucks.</h2>
<div>...</div>
<h2 class="marked">This sucks.</h2>
<div>...</div>
<h2 class="marked">This sucks.</h2>
<div>...</div>
<h2 class="marked">This sucks.</h2>
<div>...</div>
<h2 class="marked">This sucks.</h2>
<div>...</div>
<h2 class="marked">This sucks.</h2>
<div>...</div>
<h2 class="marked">This sucks.</h2>
<div>...</div>
<h2 class="marked">This sucks.</h2>
<div>...</div>
<h2 class="marked">This sucks.</h2>
<div>...</div>
<h2 class="marked">This sucks.</h2>
<div>...</div>
<h2 class="marked">This sucks.</h2>
<div>...</div>
<h2 class="marked">This sucks.</h2>
<div>...</div>
<h2 class="marked">This sucks.</h2>
我试图在滚动时获取某些匹配元素的位置. 但是,每个元素的输出是相同的数字.
I am trying to get the position of some matched elements when scrolling. The output is however the same number for each element.
输出:
Object {top: 2480, left: 0}
Object {top: 2480, left: 0}
Object {top: 2480, left: 0}
为什么每个元素的偏移量都一样? 当我滚动时,这些值也会改变.
Why is the offset the same for each element? The values are also changing when I scroll.
好的.该代码段可在此处运行,但不能在我的网站上运行.非常烦人.
Okay. The snippet works on here, but not on my site. Highly annoying.
推荐答案
问题出在使用.each.
The problem is in the use of .each.
应该这样使用:
var $animatedEls = $('.marked');
$(window).scroll(function(e) {
$.each($animatedEls, function(index, item) {
console.log($(item).offset());
}
}
这篇关于获取每个元素的位置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文