当左右滑动控制时,Twitter Bootstrap Carousel继续向上移动

时间:2015-03-24 08:24:24

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

我的bootstrap 3.3轮播(直接从getbootstrap.com获取的代码)每次我向左或向右导航/滑动时都会一直向上移动到浏览器顶部。

因此,如果轮播位于页面中间,并且您开始手动滑动,则会将整个页面向上移动,直到轮播到达浏览器顶部。

此处示例:http://crevisio.com/branding/pLXAsNJdn

我该如何纠正?

2 个答案:

答案 0 :(得分:3)

这是导致网络向上滚动的代码:

$('a[href*=#]').each(function() {
var thisPath = filterPath(this.pathname) || locationPath;
if (  locationPath == thisPath
&& (location.hostname == this.hostname || !this.hostname)
&& this.hash.replace(/#/,'') ) {
  var $target = $(this.hash), target = this.hash;
  if (target) {
    var targetOffset = $target.offset().top;
    $(this).click(function(event) {
      event.preventDefault();
      $(scrollElem).animate({scrollTop: targetOffset}, 800, function() { // <== DISABLE THIS AND THE NEXT 2 LINES
        location.hash = target;
      });
    });
  }
}

});

问题是 - 为什么要将click事件绑定到包含#的href属性的每个A元素?

答案 1 :(得分:0)

您的轮播HTML定义中的

this会导致您的网页链接到href="#carousel-branding-project",这是您的轮播的父div。

如果您需要将其作为锚点,请尝试将链接更改为id="carousel-branding-project"

href="javascript:void(0)"