繁体   English   中英

手风琴扩展后的新高度

[英]Getting new height after accordion has expanded

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的内部,在折叠/扩展内容以设置.Main的高度后,我想获得新的高度。

我一直在研究计时器和定时事件,但是在手风琴扩展后感觉到我的尝试是完全错误的,我只是无法使它正常工作,我不希望将它们全部淹没在这个页面上!

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

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

另外,供您参考

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM