jquery simplemodal 1.4.1 динамическая высота - PullRequest
1 голос
/ 30 марта 2011

Пожалуйста, не могли бы вы дать мне несколько советов?У меня проблема с прокруткой полос прокрутки!Я попробовал свою концепцию в различных браузерах, прежде чем понял, что у меня проблема с областью просмотра и раздутием панели инструментов!

По сути, моя линия атаки - попытаться динамически изменить высоту simpleModal.container на основеразмер окна просмотра, а затем молитесь, чтобы 2-й свиток не появился![i.imgur.com/EPFU8.jpg]

Я использую плагин simpleModal 1.4.1 + jquery 1.4.2, и код скрипта, который я создаю ниже, - это то, с чем я бьюсь.
Высота моего HTML-контента на самом деле не является фиксированным размером.В отношении содержимого у меня есть высота: 100% для htmldoc & body для внутреннего контейнера + содержимое iframe.

$ j (document) .ready (function () {

$j('a.popup').click(function() {
  var src = $j(this).attr('href');
  // Dynamically adjust height comparative to available viewport.
  var h = $j(window).height()-100+'px';

  $j.modal('<iframe id="dialog-frame" scrolling="auto" frameborder="0" src="' + src + '"></iframe>',
    { onOpen: modalOpen($j('#simplemodal-container')), onShow: $j('#simplemodal-container').css('height', 'auto'), overlayClose: true, persist: true, minHeight: "720px", containerCss: { height: h } });          
        return false;
    });

  function modalOpen(dialog) {
    var h = $j(window).height()-80+'px';
    dialog.animate({height: h, width: "820px"}, 0);
  }
});

Возможно, хорошим решением будет изменение высоты во время рисования с помощью анимации?

Возможно, я забыл что-то сделать с iFrame. Возможно, в холодильнике есть пивона нем нет моего имени.

Возможно, и самое главное, есть какой-то доброжелательный техник по имени Эрик, который может помочь мне с моим затруднительным положением.

Приветствия

Тими

1 Ответ

0 голосов
/ 30 марта 2011

Создайте обратный вызов onShow и попробуйте следующее:

onShow: function (d) {
    $.modal.setContainerDimensions();
    // or
    //$.modal.update();
}
...