在facebook的iphone应用程序中,当向下滚动标题栏缩小并隐藏时。向上滚动时会再次显示。
我想复制这个,但也加入另一个跟随的div 我已经创建了一个简单的小提琴来展示我到目前为止所尝试的内容:
http://jsfiddle.net/0z6tqqyk/2/
但是,在初始页面加载时向下滚动时,操作可以正常工作。但是当向上滚动时,在动画发生之前会有一段延迟。
向下滚动到AGAIN时,会有延迟。 有没有帮助实现我的目标?
var lastScrollTop = 0;
$("#container").scroll(function(event) {
var st = $(this).scrollTop();
if (st > lastScrollTop) {
$("#header").animate({
'marginTop': '-40px'
}, 200);
$("#title").animate({
'marginTop': '0'
}, 200);
} else {
$("#header").animate({
'marginTop': '0'
}, 200);
$("#title").animate({
'marginTop': '40px'
}, 200);
}
lastScrollTop = st;
});

答案 0 :(得分:1)
在添加新动画之前,您使用.stop() API添加动画并弄乱时间。
经过一些测试:这种配置似乎最一致:
$("#header").stop(true, false).animate({ 'marginTop': '-40px'}, 100);
$("#title").stop(true, false).animate({ 'marginTop': '0'}, 100);