2012-11-26 108 views
1

我有一堆div寬度高度超過1000px下eachother。我如何確定相對於窗口頂部的div位置? 例如確定div位置scrolltop

<div>height:1000px</div> 
<div>height:1000px</div> 
<div>height:1000px</div> 
<div class="this_div">height:1000px</div> 
<div>height:1000px</div> 
<div>height:1000px</div> 
<div>height:1000px</div> 

我正在嘗試這樣的事情。

$(function(){ 
    $(window).bind('scroll resize',function(e){ 
     var scrolledY = $(window).scrollTop(), 
      scrolling = scrolledY-4900; 
     if(scrolledY > 4900){ 
      $('div.this_div').css('background', 'red'); 
     } 
     if(scrolledY > 5500)){ 
      $('div.this_div').css('background', 'none'); 
     } 
    }); 
}); 

正如你所看到的,如果你已經滾動4900px它會做一些事情。當你滾動到div時,是不是可以做一些事情,而不是確定它是什麼樣的px?

回答

0

您需要.offset()功能。它可以幫助您確定滾動方法的「this_div」的偏移量(而不是您傳遞的4900值)。

JSFiddle

+0

正是我所需要的。謝謝 – Chanckjh

0

嗯,我想;

console.log(parseFloat($("#myBlock").offset().top) + parseFloat($(document).scrollTop()));​