var pagestart = 0;
var currentlyat = pagestart;
var lastScrollTop = 0;
$(document).ready(function(){
function scrollPageTo(a){
if(a == 0){
$('#top').show();
$('#top').animate({
top: 0
}, 1000, function(event){
$('#page').css('top', $(window).height()).hide();
});
}
else
{
$('#page').hide();
$('#page').animate({
top: 0
}, 1000, function(event){
$('#top').css('top', $(window).height()).hide();
});
}
}
if(pagestart == 0){
$('#top').css('height', $(window).height());
$('#page').hide();
}
else
{
$('#top').hide();
$('#page').css('height', $(window).height());
}
$(window).scroll(function(){
if(currentlyat == 0){
if(($(this).scrollTop() < lastScrollTop) && $(this).scrollTop() == 0){
scrollPageTo(1);
}
}
else
{
if(($(this).scrollTop() > lastScrollTop) && $(this).scrollTop() == 0){
scrollPageTo(0);
}
}
});
});
http://jsbin.com/uZiDaXud/1/edit
我想要做的是创建类似于MEGA.co.nz网站所拥有的系统,例如this页面。基本上有两个容器,分别包含两个独立的页面。一个在#top
中,另一个在#page
中。pagestart
决定它应该从#top
还是#page
开始。 #top
始终与用户窗口高度相同(因此没有滚动条)。当你向下滚动时,当#top
处于活动状态时,或者点击某个链接时,#top
将向上滚动到屏幕上方,#page
将从底部向上滚动。当#page
处于活动状态时(可能比用户的窗口高),并且您在页面顶部然后仍然向上滚动(或单击链接),#page
将向下滚动到屏幕下方,#top
将从顶部向下滚动。这将导致一个页面,当您向下滚动时,动画开始移动
#top
在屏幕上方,并显示#page
,然后您将能够正常滚动。当您在页面顶部并向上滚动时,#top
将再次弹出。难以解释,因此建议单击this,查看MEGA.co.nz如何实现它。
如何实现此效果?
#splash
的高度设置为0,是这样吗? - Thew