2014-10-27 109 views
1

我想要在我的html頁面中使用scrollTop()方法來獲取coulpe的位置,以便將它與用戶的位置進行比較,但它只返回null。下面是代碼:

<div id="div1" class="transition"> 
    <img src="bg1.jpg"/> 
</div> 

<div id="div2" class="transition"> 
    <img src="bg2.jpg"/> 
</div> 

和JavaScript:

var t1 = $('#div1').scrollTop(); 
var t2 = $('#div2').scrollTop(); 

console.log(t1 + " " + t2); 

和它打印t1和t2 = NULL。 你能看到問題出在哪裏嗎?

回答

1

那些div都不具備的滾動條(我假設),於是他們自然就不能滾動。

如果你想找到你需要滾動,使它們在頂部位置,請嘗試:

$('#id').offset().top 

(jQuery docs)

這裏的工作演示:


var txt = $('#div1').offset().top + ' ' + $('#div2').offset().top; 
 

 
document.getElementById('output').appendChild(document.createTextNode(txt));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 

 
<div id='div1'> 
 
    This is some stuff 
 
</div> 
 

 
<div id='div2'> 
 
    More stuff 
 
</div> 
 

 
<div id='output'></div>

+0

謝謝,這是exaclty我需要什麼。 – user3360437 2014-10-28 09:42:37

0

嘗試將整個東西包裝在文檔準備好的機箱中。您的JavaScript可能在dom完成加載之前運行。

$(document).ready(function(){ 
    var t1 = $('#div1').scrollTop(); 
    var t2 = $('#div2').scrollTop(); 
    console.log(t1 + " " + t2); 
}); 
+0

這個解決方案返回我0.也許我錯過了scrollTop()函數。謝謝回答。 – user3360437 2014-10-28 09:43:26