Twitter BootStrap Scrollspy Bug仍然存在......?

时间:2012-09-10 07:00:37

标签: css ruby-on-rails-3 jquery-plugins twitter-bootstrap

阅读github文档,bug是众所周知的,并且假设已经在2.1中修复了.. 但它没有?

基本上......你可以使用滚动使用的数据来抵消该偏移不会影响标签的实际点击。

有关寻找解决方案的任何帮助吗?

这是我要修复的网站:www.powerliftingbasics.com

1 个答案:

答案 0 :(得分:3)

根据@ fat对Issue #3316: Scrollspy Bugs的评论:

  

$('.navbar').scrollspy({offest: 70});仅用于修改   滚动计算 - 我们不会改变实际的锚点击事物,   那就是你。该插件仅用于监视卷轴。

也就是说,ScrollSpy只是观察,它不控制浏览器滚动。

Twitter Bootstrap页面通过在链接的部分上使用padding-top: 30px来解决此问题。否则你可以用JS处理它:

function adjustScrollForNavbar() {
  var $nav = $('div.navbar')
  if ( $nav.css('position') !== "fixed" ) return
  window.scrollBy(0, -$nav.height())
}

// Adjust for fixed navbar
$('body').on('click.scroll-adjust', '[href^="#"]', function (e) {
  if ( e && e.isDefaultPrevented() ) return
  $(window).one('scroll', adjustScrollForNavbar )
});

显然CSS修复更可取。