滚动回到顶部做相反的事情

时间:2016-02-17 14:08:28

标签: jquery scroll

当我向下滚动时,我的功能也像他们一样工作。但是当我滚动回到顶部时,我希望他们做相反的事情。但是怎么样? 这就是我得到的:

var $document = $(document)


$document.scroll(function() {
      if ($document.scrollTop() >= 50) {
          AnimateFunction();
      }
});

function AnimateFunction() {
  setTimeout(function() {
    $("#LOGO").animate({height: '180px'}, 1);
        $("ul").animate({top: '-14px'}, 1);
        $("li").animate({fontSize: '8pt'}, 1);
        $("#HB").animate({marginTop: '-10px'}, 1);
        $("#HB").animate({height: '29px'}, 1).animate({width: '26px'}, 1);
        }
      )};

我希望有人可以帮助我!

1 个答案:

答案 0 :(得分:0)

为此你需要做一些事情

到目前为止,您只是检测文档上的滚动并基于您正在运行函数的滚动位置。

  1. 现在,您不仅要检测滚动,还要检查滚动方向see this

  2. 您必须编写另一个函数来恢复您在AnimateFunction函数中所做的更改,并在滚动方向向上时调用它。在新功能中,您可以重置值。即

    $("#LOGO")。animate({height:' originalHeight'},1);

  3. 示例代码

    var lastScrollTop = 0;
    $(window).scroll(function(event){
       var st = $(this).scrollTop();
       if (st > lastScrollTop){
          AnimateFunction()
       } else {
          AnimateFunctionReverse()
       }
       lastScrollTop = st;
    });