Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查元素是否滚动?_Javascript_Jquery - Fatal编程技术网

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。。。然后问一个关于给你带来麻烦的代码的具体问题。