2014-01-17 35 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’); 
});