【问题标题】:Bootstrap scroll top accordion panel UNLESS open/expand allBootstrap 滚动顶部手风琴面板,除非打开/展开所有
【发布时间】:2017-08-17 08:46:03
【问题描述】:

solution 工作得很好,除了当调用来自here 的“全部展开”时它也会滚动(然后它会滚动到每个打开的面板)。 Bootply 示例here

如何阻止滚动在全部展开时触发?

【问题讨论】:

    标签: jquery twitter-bootstrap


    【解决方案1】:

    您可以使用 jQuery.data() 设置一个变量来指示手风琴面板何时被“全部展开”触发,然后在每次任何面板为 shown 时重置该变量。

    $('.panel-collapse').on('shown.bs.collapse', function (e) {
        
      if ($(this).data('noscroll')!=1){
        var panel = $(this).closest('.panel');
        $('html,body').animate({
            scrollTop: panel.offset().top
        }, 500);
      }
      // reset noscroll data
      $(this).data('noscroll',0);
    });
    $('.accord-closeall').click(function(){
        $('.panel-collapse.in')
            .collapse('hide');
    });
    $('.accord-openall').click(function(event){
        //set noscroll data
        $('.panel-collapse').data('noscroll',1);
        $('.panel-collapse:not(".in")')
            .collapse('show');
    });
    

    https://codeply.com/p/UA8qXnQIaJ

    【讨论】:

    • 完美运行。谢谢!
    猜你喜欢
    • 2016-06-29
    • 1970-01-01
    • 2017-01-02
    • 2019-11-15
    • 1970-01-01
    • 1970-01-01
    • 2014-03-24
    • 2016-10-11
    • 2015-11-29
    相关资源
    最近更新 更多