我有以下代码,当用户滚动时,会将.nav-down
和.nav-up
添加/删除到#nav。
jQuery(document).ready(function($){
var didScroll;
var lastScrollTop = 0;
var delta = 5;
var navbarHeight = $('nav').outerHeight();
$(window).scroll(function(event) { didScroll = true; });
setInterval(function() {
if (didScroll) {
hasScrolled();
didScroll = false;
}
}, 150);
function hasScrolled() {
if($( window ).width() > 768) {
var st = $(this).scrollTop();
if (Math.abs(lastScrollTop - st) <= delta)
return;
if (st > lastScrollTop && st > navbarHeight ) {
// Scroll Down
$('#s-nav').removeClass('nav-down').addClass('nav-up');
} else {
// Scroll Up
if (st + $(window).height() < $(document).height()) {
$('#s-nav').removeClass('nav-up').addClass('nav-down');
}
}
} else {
$('#s-nav').removeClass('nav-up').addClass('nav-down');
}
lastScrollTop = st;
}
});
当函数将.extra
添加到#nav时,我想向#nav添加另一个名为.nav-down
的类。但是我只希望它在用户位于页面顶部时添加它,而不是在任何时候添加它。因此,只有当用户位于页面顶部时才会添加。
答案 0 :(得分:1)
查看 renderSquare(i) {
return <Square value={ this.state.squares[i] } />;
}
上的jQuery documentation。当你位于页面顶部时为0,所以你应该只有一个脚本在scrollTop()
为0时设置类,否则将其删除。
例如:
$(window).scrollTop()
或类似的东西。