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