平滑滚动Bootstrap 3

时间:2013-10-09 05:08:26

标签: javascript jquery twitter-bootstrap twitter-bootstrap-3

我在尝试在页面中滚动时有一些问题,基本上我在这样的页面周围有锚标签:

<li><a href="#description">Module Description</a></li>
...
<section id=" description ">

我正在使用以下javascript工作正常,但问题是,如果我使用此脚本,bootstrap 3的模态和其他功能中断并且不再起作用

  $('a[href*=#]:not([href=#])').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') 
    || location.hostname == this.hostname) {

  var target = $(this.hash);
  target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
  if (target.length) {
    $('html,body').animate({
      scrollTop: target.offset().top
    }, 1000);
    return false;
  }
}
}); 

我想知道什么是这个脚本的解决方案,或者有其他类似的脚本,使用bootstrap 3进行测试 感谢

2 个答案:

答案 0 :(得分:4)

$('a[href*=#]:not([href=#])')将非常通用也将更改目标锚点,例如模态。尽量减少通用性:

<ul id="insidepagenav">
<li><a href="#description">Module Description</a></li>

$('ul#insidepagenav > li > a[href*=#]:not([href=#])')

答案 1 :(得分:0)

如果您更换

a[href*=#]:not([href=#])

a[href*=#]:not([href=#]):not([href=#idname])

您可以阻止平滑滚动为该特定链接工作