Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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 引导scrollspy仅在第二次单击时获取高度偏移_Javascript_Jquery_Twitter Bootstrap - Fatal编程技术网

Javascript 引导scrollspy仅在第二次单击时获取高度偏移

Javascript 引导scrollspy仅在第二次单击时获取高度偏移,javascript,jquery,twitter-bootstrap,Javascript,Jquery,Twitter Bootstrap,我已经用Bootstrap3.2.1创建了一个页面,并在此页面中使用了scrollspy。在第一次单击菜单时,滚动页面的偏移高度不起作用,但在第二次单击后,偏移高度起作用 这段代码在浏览器中工作!但当第一次单击标题2(或标题3或标题4)时,页面应在标题2(或标题3或标题4)上滚动 这是因为您将导航栏设置为固定向下滚动(y>90之后)。因此,当导航栏的高度固定时,您需要对其进行折扣 您需要一个动态值,基于您的代码,一种方法是使用具有相同参数的函数。导航栏的高度是30px,因此需要添加它 func

我已经用Bootstrap3.2.1创建了一个页面,并在此页面中使用了scrollspy。在第一次单击菜单时,滚动页面的偏移高度不起作用,但在第二次单击后,偏移高度起作用

这段代码在浏览器中工作!但当第一次单击标题2(或标题3或标题4)时,页面应在标题2(或标题3或标题4)上滚动


这是因为您将导航栏设置为固定向下滚动(y>90之后)。因此,当导航栏的高度固定时,您需要对其进行折扣

您需要一个动态值,基于您的代码,一种方法是使用具有相同参数的函数。导航栏的高度是30px,因此需要添加它

function offsetHeight() {
  if ($(window).scrollTop() > 90) {
    return 120;
  }
  else {
    return 150;
  }
}; 

适合我(Mozilla/5.0(Macintosh;英特尔Mac OS X 10.10;rv:34.0)Gecko/20100101 Firefox/34.0)@Sukima是的,这段代码在浏览器中工作!但当第一次单击标题2(或标题3或标题4)时,页面应在标题2(或标题3或标题4)上滚动。我编辑了JSFIDLE演示。请看演示:我想我忘记了计算边界,也许加上2px可以得到完美的结果。
function offsetHeight() {
  if ($(window).scrollTop() > 90) {
    return 120;
  }
  else {
    return 150;
  }
};