Авто высота fancybox2

Я использовал плагин fancybox для одного из своих сайтов. Мне очень нравится использовать его, пока я не столкнулся с этой проблемой. Внутри fancybox я хочу поставить к нему аккордеон. Проблема в том, что я хочу, чтобы высота fancybox росла, а полоса прокрутки не отображалась, когда аккордеон схлопывается.

пожалуйста, нажмите здесь для моего текущего кода


person lidongghon    schedule 21.09.2012    source источник


Ответы (3)


Вам нужно обновить высоту после того, как модная коробка откроется. Обновил ваш код, добавив afterShow

$(".fancybox").fancybox({
    openEffect : 'elastic',
    openSpeed  : 150,
    closeEffect : 'elastic',
    closeSpeed  : 150,
    autoDimensions: true,
    height: 'auto',
    afterShow: function(){
        $.fancybox.update()
    }
});

Вот рабочая демонстрация, http://jsfiddle.net/muthkum/wufGk/1/.

person Muthu Kumaran    schedule 21.09.2012
comment
та же идея, что и в первом ответе, но гораздо лучшая реализация. спасибо муту. - person lidongghon; 21.09.2012

Использовать это:

$.fancybox.update();

Демонстрация: http://jsfiddle.net/wufGk/2/

person webdeveloper    schedule 21.09.2012

Я добавил приведенный ниже код после высоты: 'auto' в приведенном ниже URL-адресе http://jsfiddle.net/sunnyjaysabuero90/wufGk/, работает


    $(".fancybox").fancybox({
        openEffect : 'elastic',
        openSpeed  : 150,
        closeEffect : 'elastic',
        closeSpeed  : 150,
        autoDimensions: true,
        height: 'auto',

    beforeShow: function(){
       this.width = $('.fancybox-iframe').contents().find('html').width();
       this.height = $('.fancybox-iframe').contents().find('html').height();
      }
        fitToView: false
    });

    $('.accordionButton').click(function() {
        $('.accordionButton').removeClass('accordionButton-open');
        $('.accordionContent').slideUp('fast');
        if($(this).next().is(':hidden') == true) {
        $(this).addClass('accordionButton-open');
        $(this).next().slideDown('fast');
        }
    });

person Parveen Sharief    schedule 21.09.2012