我只是学习javascript并且需要一些帮助来从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-id
(page_1
,page_2
,page_3
,NAN
)的全部价值,但我可以没有得到data-id="page_4"
的最后一个值,javascript说NAN
。
任何人都可以帮助我吗?
全部谢谢!
答案 0 :(得分: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;
}
答案 1 :(得分:0)
此jquery有助于强制您的浏览器转到页面顶部:
$(".yourElementClass").click(function(){
$(".yourDivName").animate({ scrollTop: 0 }, ’slow’);
});