Javascript 如何检查元素是否滚动?
我有一个Javascript 如何检查元素是否滚动?,javascript,jquery,Javascript,Jquery,我有一个div,它代表页面上的navbar。之前是其他元素,如徽标、横幅等。。。 只有当导航栏向下滚动时,我才想做navbarsticky,也就是说,当我向下滚动并将其留下时,我需要向其添加类。我怎样才能抓住这一刻 应该是这样的: jQuery(document).scroll(function(){ // if jQuery('#navbar') is already scrolled down add to it .navbar-fixed else remove });
div
,它代表页面上的navbar
。之前是其他元素,如徽标、横幅等。。。
只有当导航栏向下滚动时,我才想做navbar
sticky,也就是说,当我向下滚动并将其留下时,我需要向其添加类。我怎样才能抓住这一刻
应该是这样的:
jQuery(document).scroll(function(){
// if jQuery('#navbar') is already scrolled down add to it .navbar-fixed else remove
});
您可以使用获取滚动条的位置。您可以使用获取“导航栏”的偏移量。您可以使用此选项计算用户是否滚动过导航栏:
$(document).scroll(function(){
if( $(document).scrollTop() > $('#navbar').offset().top ) {
$('#navbar').addClass('navbar-fixed');
} else {
$('#navbar').removeClass('navbar-fixed');
}
});
你可能需要澄清你的问题,我不确定你在问什么。你需要计算元素的初始偏移位置…和元素的最终偏移位置…只要得到两者之间的差值,…那会给你scroll@VAGABOND所以我想问的是如何做到这一点?试着用到目前为止您已经尝试过的代码构建一个JSFIDLE。。。然后问一个关于给你带来麻烦的代码的具体问题。