【发布时间】:2015-07-29 05:52:25
【问题描述】:
$(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>
我试图在滚动时获取一些匹配元素的位置。 然而,每个元素的输出是相同的数字。
输出:
Object {top: 2480, left: 0}
Object {top: 2480, left: 0}
Object {top: 2480, left: 0}
为什么每个元素的偏移量都一样? 当我滚动时,这些值也会发生变化。
编辑:好的。 sn-p 在这里工作,但不在我的网站上。非常烦人。
【问题讨论】:
-
你能发个小提琴吗..
-
你认为
$(".animated").each..是什么?它应该是$animatedEl.each..或$('.marked').each.. -
您没有正确使用 .each 函数。你应该使用 .each(index, item)
-
尝试将其绑定到一个 .click 事件,看看它是否在点击时起作用
标签: javascript jquery each offset