我对此有一些麻烦。我有一个透明的标题,当用户向下滚动页面时该标题会逐渐消失。当用户向上滚动时,标题具有黑色背景以强调其存在。一切工作正常,但是当且仅当scrollTop等于0时,我才需要覆盖函数中发生的所有事情。因此,当用户一直滚动回到顶部时,标题将恢复为透明。我当前的代码是:

   $(window).scroll(
        {
            previousTop: 0
        },
        function () {
        var currentTop = $(window).scrollTop();
        if (currentTop < this.previousTop ) {
            header.fadeIn('slow');
            header.css('background', 'rgba(0,0,0,.9)');
        } else {
            header.fadeOut();
        }
        this.previousTop = currentTop;
    });


任何帮助深表感谢!

最佳答案

您可以执行以下操作:仅在scrollTop值为0时添加一个捕获。

  $(window).scroll(
        {
            previousTop: 0
        },
        function () {
        var currentTop = $(window).scrollTop();
        if (currentTop < this.previousTop ) {
            if (currentTop != 0 ) { // new if statement here prevents fadein if at top of page
               header.fadeIn('slow');
               header.css('background', 'rgba(0,0,0,.9)');
            }
        } else {
            header.fadeOut();
        }
        this.previousTop = currentTop;
    });

07-24 09:22