我有一个网站的navbar固定在顶部和3个divs在主要内容区域下面。
我试图使用scrollspy从引导框架。
我也有它,所以当你点击菜单,它会滚动到页面的正确部分。但是,偏移是不正确的(它不考虑导航栏,所以我需要偏移约40像素)
我看到在Bootstrap page它提到一个偏移选项,但我不知道如何使用它。
我也不是什么意思,当它说你可以使用scrollspy $(‘#navbar’)。scrollspy(),我不知道在哪里包括所以我没有,一切似乎都工作(除了偏移)。
我认为偏移量可能是body-tag的数据偏移= ’10’,但它不为我做任何事情。
我有一种感觉,这是一个很明显的东西,我只是失去它。任何帮助?
我的代码是
... <!-- note: the data-offset doesn't do anything for me --> <body data-spy="scroll" data-offset="20"> <div class="navbar navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> <a class="brand" href="#">VIPS</a> <ul class="nav"> <li class="active"> <a href="#trafficContainer">Traffic</a> </li> <li class=""> <a href="#responseContainer">Response Times</a> </li> <li class=""> <a href="#cpuContainer">cpu</a> </li> </ul> </div> </div> </div> <div class="container"> <div class="row"> <div class="span12"> <div id="trafficContainer" class="graph" style="position: relative;"> <!-- graph goes here --> </div> </div> </div> <div class="row"> <div class="span12"> <div id="responseContainer" class="graph" style="position: relative;"> <!-- graph goes here --> </div> </div> </div> <div class="row"> <div class="span12"> <div id="cpuContainer" class="graph" style="position: relative;"> <!-- graph goes here --> </div> </div> </div> </div> ... <script src="assets/js/jquery-1.7.1.min.js"></script> <script src="assets/js/bootstrap-scrollspy.js"></script> </body> </html>
解决方法
Bootstrap使用偏移来仅解析窥探,而不是滚动。这意味着滚动到正确的地方取决于你。
尝试这个,它适用于我:为导航点击添加一个事件处理程序。
var offset = 80; $('.navbar li a').click(function(event) { event.preventDefault(); $($(this).attr('href'))[0].scrollIntoView(); scrollBy(0,-offset); });