2014-01-17 84 views
1

我剛剛瞭解JavaScript和需要一點幫助,從jQuery的scrollTop獲取最後一頁元素。需要幫助從jQuery的scrollTop獲取最後一頁

所以在這裏我的代碼:

$(window).scroll(function() { 
    $("ul.pages li").each(function(i,e){ 
        var offset = $(e).offset(); 
     if($(window).scrollTop() >= offset.top){ 
      $(".right_footer").text($(e).attr("data-id")); 
     } 
    }) 
}); 

在HTML代碼

<ul class="pages"> 
    <li class="section" data-id="page_1"></li> 
    <li class="section" data-id="page_2"></li> 
    <li class="section" data-id="page_3"></li> 
    <li class="section" data-id="page_4"></li> 
</ul> 

好吧,當我滾動頁面我得到了所有的值從data-idpage_1page_2page_3NAN),但我無法從data-id="page_4"得到最後一個值, cript說NAN

任何人都可以幫助我嗎?

謝謝大家!

+2

做出http://www.jsfiddle.net,所以我們可以看到整個頁面(包括CSS) – Deryck

+2

'NaN'?這很奇怪。 –

+1

@Deryck - 你給了他錯誤的鏈接。它應該bt [jsfiddle.net](http://jsfiddle.net/) –

回答

1

原來有沒有錯你的代碼,它只是你沒能看到結果在最後一個列表項上,因爲它的高度不足以滾動頁面。隨着真實內容的增加,這個問題將會消失。在此期間,你可以按照以下證明,通過指定頁面的CSS您li元素的高度仿真的內容大塊:

ul.pages{ 
    float:left; 
    width:1024px; 
    height:auto; 
} 

li.page{ 
    width:1024px; 
    height:700px; /* <-- Make this huge in the absence of content */ 
    display:block; 
} 
+0

對不起,我只是評論,這是你的解決方案是工作:) – ilovebali

0

這個jQuery的幫助,迫使你的瀏覽器訪問你的頁面的頂部:

$(".yourElementClass").click(function(){ 
$(".yourDivName").animate({ scrollTop: 0 }, ’slow’); 
});