Модальное окно Colorbox не изменяет размер

Я использую Colorbox для создания своих модальных окон. В настоящее время у меня есть модальное окно со скрытым div. При нажатии кнопки Show more скрытый div fadeIn появится. Однако, когда скрытый div становится видимым, полоса прокрутки и часть этого нового div не видны без прокрутки вниз. Другими словами, размер модального окна не изменился в соответствии с новым содержимым.

Как я могу изменить размер модального окна, когда скрытый div становится видимым? Спасибо!


person Nyxynyxx    schedule 22.07.2011    source источник


Ответы (2)


Вы можете сделать это вручную, настроив модальное окно и изменив высоту на высоту внутреннего DIV.

var height = $('#innerDiv').height();
$('#modal').css('height',height);
person wanovak    schedule 22.07.2011
comment
является #modal идентификатором модального окна по умолчанию? - person Nyxynyxx; 23.07.2011
comment
Используя $.colorbox.resize({innerWidth:560, innerHeight:750});, я получаю сообщение об ошибке: Uncaught TypeError: Cannot call method 'resize' of undefined - person Nyxynyxx; 23.07.2011
comment
Нет, #modal — это не идентификатор по умолчанию, а просто пример заполнителя. Что касается вашего второго комментария: вам нужно изучить документацию по цветным ящикам для получения подробной информации об использовании методов цветных ящиков. - person wanovak; 23.07.2011

У меня тоже была похожая проблема, я пробовал следующие вещи: первый шаг попробуйте обновить ColorBox до последней версии, я использую v1.3.17.1. В этом файле js добавьте следующую настраиваемую функцию изменения размера:

publicMethod.myResize = function (iW, iH) {
     if (!open) { return; }  
     if (settings.scrolling) { return; }  
     var speed = settings.transition === "none" ? 0 : settings.speed;  
     $window.unbind('resize.' + prefix);  
     settings.w = iW;  
     settings.h = iH;  
     $loaded.css({ width: settings.w, height: settings.h});  
     publicMethod.position(speed);  
    };

и вызовите эту функцию, я вызываю эту функцию как:

parent.$.fn.colorbox.myResize(frameWidth, frameHeight);

где var frameWidth и frameHeight соответственно. ширина и высота модального окна, на которое я хочу изменить размер модального окна colorbox. то есть вычислите ширину и высоту, до которых вы хотите изменить размер модального окна, и передайте эти значения этой настраиваемой функции изменения размера. Вероятно, вам следует попробовать вызвать эту функцию через некоторое время (например, с помощью settimeout()), это поможет рассчитать ширину и высоту для установки, надеюсь, это поможет...!!!

person Rahul    schedule 31.01.2012