手风琴扩大后获得新的高度.

Getting new height after accordion has expanded

本文关键字:高度 手风琴      更新时间:2023-09-26

JQuery 手风琴

(function(jQuery){
     jQuery.fn.extend({  
         accordion: function() {
            return this.each(function() {
                var $ul = $(this);
                if($ul.data('accordiated'))
                    return false;
                $.each($ul.find('ul'), function(){
                    $(this).data('accordiated', true);
                    $(this).hide();
                });
                $.each($ul.find('a'), function(){
                    $(this).click(function(e){
                        //if(!$(this).hasClass('Active')) {
                            activate(this);
                            return void(0);
                        //}
                    });
                });
                var active = $('.Active');
                if(active){
                    activate(active, 'toggle');
                    $(active).parents().show();
                }
                function activate(el,effect){
                    if (!effect) {
                      $(el)
                       .toggleClass('Active')
                       .parent('li')
                       .siblings()
                       .find('a')
                       .removeClass('Active')
                       .parent('li')
                       .children('ul')
                       .slideUp('fast');
                    }
                  $(el)
                  .siblings('ul')[(effect || 'slideToggle')]((!effect)?'fast':null);
                }
            });
        } 
    }); 
})(jQuery);

召唤手风琴

$('.Menu.Open').accordion();

问题所在

.Menu.Open 位于 内部。SideNav,我想在我的手风琴折叠/展开内容以设置高度后获得新的高度。主要

我一直在研究计时器和定时事件,但是在我的手风琴扩展后,我无法让它工作,并且觉得我的尝试是完全错误的,我不想用它们淹没这个页面!

查看您的代码,您依靠 Jquery.slideUp/slideDown 来扩展/折叠您的手风琴。如果我理解正确,您正在尝试在动画完成后测量高度。我相信这就是你要找的

$('element').slideUp('fast', function(){ perform_measurement_here();});

另外,供您参考

http://api.jquery.com/slideup/