向下滚动时,Facebook应用程序样式隐藏标题栏,向上滚动时再次显示

时间:2014-10-16 15:30:01

标签: jquery css facebook jquery-animate

在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;
    });




1 个答案:

答案 0 :(得分:1)

在添加新动画之前,您使用.stop() API添加动画并弄乱时间。

经过一些测试:这种配置似乎最一致:

   $("#header").stop(true, false).animate({ 'marginTop': '-40px'}, 100);
   $("#title").stop(true, false).animate({ 'marginTop': '0'}, 100);
相关问题