我对此有一些麻烦。我有一个透明的标题,当用户向下滚动页面时该标题会逐渐消失。当用户向上滚动时,标题具有黑色背景以强调其存在。一切工作正常,但是当且仅当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;
});