[英]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>
我試圖滾動時獲取一些匹配元素的位置。 但是,每個元素的輸出編號相同。
輸出:
Object {top: 2480, left: 0}
Object {top: 2480, left: 0}
Object {top: 2480, left: 0}
為什么每個元素的偏移量都相同? 當我滾動時,這些值也在改變。
編輯:好的。 該代碼段可在此處運行,但不能在我的網站上運行。 非常煩人。
問題在於使用.each。
應該這樣使用:
var $animatedEls = $('.marked');
$(window).scroll(function(e) {
$.each($animatedEls, function(index, item) {
console.log($(item).offset());
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.