Bootstrap Collapse accordion on hover

前端 未结 7 1996
轮回少年
轮回少年 2020-12-16 17:40

I\'m using Twitter\'s Bootstrap \'Collapse\' plug-in in a project I am working on. I have a simple accordion (setup as per the documentation), but I want to amend the defaul

7条回答
  •  被撕碎了的回忆
    2020-12-16 18:19

    Based on Cliff Seal's answer I suggest queueing animations to prevent panel-collapse from staying open when mouseleave occurs before the collapse('show') animation is finished.

    $('div.panel-collapse').on('shown.bs.collapse hidden.bs.collapse', function() {
      $(this).dequeue('collapse');
    });
    $('div.panel-heading').hover(
      function() {
        var collapse = $($(this).find('a').attr('href'));
        collapse.queue('collapse', function() {
          $(this).collapse('show');
        });
        if (!collapse.hasClass('collapsing')) {
          collapse.dequeue('collapse');
        }
      },
      function() {
        var collapse = $($(this).find('a').attr('href'));
        collapse.queue('collapse', function() {
          $(this).collapse('hide');
        });
        if (!collapse.hasClass('collapsing')) {
          collapse.dequeue('collapse');
        }
      }
    }
    

    This doesn't make use of DRY coding, but I encountered hoverevents onloadwhen using a named function. Maybe someone can advise on this?

提交回复
热议问题