Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 引导折叠滚动顶部滚动到错误的元素_Jquery_Twitter Bootstrap_Twitter Bootstrap 3 - Fatal编程技术网

Jquery 引导折叠滚动顶部滚动到错误的元素

Jquery 引导折叠滚动顶部滚动到错误的元素,jquery,twitter-bootstrap,twitter-bootstrap-3,Jquery,Twitter Bootstrap,Twitter Bootstrap 3,我使用此脚本滚动到显示的折叠元素: $('.collapse').on('shown.bs.collapse', function () { $('html, body').stop().animate({ scrollTop: $(this).offset().top }, 500, 'swing'); }); 除了在非常小的屏幕上导航之外,它对任何东西都非常有效。打开菜单时,我希望它滚动到导航的顶部。这对我的顶级导航很好,但对于我的第二级导航,它会滚动到部分的顶部,而不是导

我使用此脚本滚动到显示的折叠元素:

$('.collapse').on('shown.bs.collapse', function () {
  $('html, body').stop().animate({
    scrollTop: $(this).offset().top
  }, 500, 'swing');
});
除了在非常小的屏幕上导航之外,它对任何东西都非常有效。打开菜单时,我希望它滚动到导航的顶部。这对我的顶级导航很好,但对于我的第二级导航,它会滚动到部分的顶部,而不是导航

(使用移动预览->单击按钮打开可折叠导航->单击“链接1”->滚动到底部,然后单击按钮打开第二个折叠导航)


正如您将看到的,它会滚动到“链接1”标题,而不是刚刚打开的导航。

这个未回答的问题让我有点担心,所以我在近3年后再次查看了它。我发现,在第二个“显示”事件中,主导航和第二导航都在开火

然后我找到了这个,他拿着钥匙

这与使用
event
对象的方法一样简单,以防止父collapse元素也收到事件通知

$('.collapse').on('shown.bs.collapse', function (event) {
    event.stopPropagation();
    $('html, body').stop().animate({
        'scrollTop': $(this).offset().top
    }, 500, 'swing');
});
更新