如果 scrollTop 等于 0,则覆盖 scroll up/down 函数
Override scroll up/down function if scrollTop is equal to 0
我在这方面遇到了一些麻烦。我有一个透明的 header,当用户向下滚动页面时它会淡出。当用户向上滚动时,header 有一个黑色背景来强调它的存在。一切正常,但当且仅当 scrollTop 等于 0 时,我需要覆盖函数中发生的所有事情。因此,当用户一直滚动回到顶部时,header returns 至透明。我当前的代码是:
$(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;
});
我在这方面遇到了一些麻烦。我有一个透明的 header,当用户向下滚动页面时它会淡出。当用户向上滚动时,header 有一个黑色背景来强调它的存在。一切正常,但当且仅当 scrollTop 等于 0 时,我需要覆盖函数中发生的所有事情。因此,当用户一直滚动回到顶部时,header returns 至透明。我当前的代码是:
$(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;
});