Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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 - Fatal编程技术网

Jquery 打开引导手风琴后滚动到内容

Jquery 打开引导手风琴后滚动到内容,jquery,twitter-bootstrap,Jquery,Twitter Bootstrap,我有一个自助式手风琴,里面有很多面板。我面临的问题是,如果面板打开页面,用户不知道面板打开了,他们可以向下滚动到它 为了解决这个问题,我希望能够滚动到现在打开的内容,这样他们就知道该内容是打开的,这样就可以避免他们滚动到该内容 当我尝试这样做时,似乎遇到了一些问题 这就是我的函数的样子 $('.accLink').on('click', function(){ if($(this).parent().next('.panel-collapse').hasClass('in')){ }e

我有一个自助式手风琴,里面有很多面板。我面临的问题是,如果面板打开页面,用户不知道面板打开了,他们可以向下滚动到它

为了解决这个问题,我希望能够滚动到现在打开的内容,这样他们就知道该内容是打开的,这样就可以避免他们滚动到该内容

当我尝试这样做时,似乎遇到了一些问题

这就是我的函数的样子

$('.accLink').on('click', function(){
  if($(this).parent().next('.panel-collapse').hasClass('in')){

  }else{
   //This is where the scroll would happen
  }
});
到目前为止我已经试过了

$('html, body').animate({
  scrollTop: ($(this).parent().next('.panel-collapse'))
  },500);

我也试过这样的东西

function scrollToElement(ele) {
    $(window).scrollTop(ele.offset().top).scrollLeft(ele.offset().left);
}

var element = $(this).parent().next('.panel-collapse').attr('id');
scrollToElement($('#'+element));

但他们都没有对页面做任何修改。它就在那里。任何帮助都将不胜感激

使用引导程序的内置事件回调,而不是单独的单击事件侦听器:

$("#accordion").on("shown.bs.collapse", function () {
    var myEl = $(this).find('.collapse.in');

    $('html, body').animate({
        scrollTop: $(myEl).offset().top
    }, 500);
});
或者,如果希望标题显示:

$("#accordion").on("shown.bs.collapse", function () {
    var myEl = $(this).find('.collapse.in').prev('.panel-heading');

    $('html, body').animate({
        scrollTop: $(myEl).offset().top
    }, 500);
});

滚动页面以在页面顶部显示展开/活动的手风琴

$('#accordion').on('shown.bs.collapse', function (e) {
                var offset = $('.panel.panel-default > .panel-collapse.in').offset().top;
                if (offset > 0) {
                    $('html,body').animate({
                        scrollTop: $('.panel .active').offset().top - 100
                    }, 500);
                    // you can chagne 100 value to take distance in pixels from top in page
                }
            });

你没有解决这个问题的原因是什么?如果您有不同的解决方案,请发布并接受。
$('#accordion').on('shown.bs.collapse', function (e) {
                var offset = $('.panel.panel-default > .panel-collapse.in').offset().top;
                if (offset > 0) {
                    $('html,body').animate({
                        scrollTop: $('.panel .active').offset().top - 100
                    }, 500);
                    // you can chagne 100 value to take distance in pixels from top in page
                }
            });