Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   fancybox автоматическая ширина фрейма (https://javascript.ru/forum/dom-window/47114-fancybox-avtomaticheskaya-shirina-frejjma.html)

Voshal 09.05.2014 09:48

fancybox автоматическая ширина фрейма
 
Приветствую всех! Помогите пожалуйста с fancybox.
Почти сделал как нужно, но не получается автоматическая высота фрейма.
Ширина фрейма должна быть фиксированная, а высота должна подстраиваться под высоту содержимого фрейма.
Так же не должно быть вертикального скрола внурти фрейма.

http://jsfiddle.net/Voshal/RHaAX/889/
Заранее благодарю за ответ.

Veterinar 10.05.2014 15:28

Отключить один из скроллингов можно в стилях, а высоту и ширину поставить фиксированную для одного, и в процентах для другого:
<iframe width="300" height="100%" style="overflow-y: hidden;">

рони 11.05.2014 02:12

Voshal,
если у вас ширина фиксированная -- можно высоту самому подобрать
http://jsfiddle.net/RHaAX/894/

rekzi 11.05.2014 06:07

Можно в свойствах задать:
.fancybox-inner {
   height: auto !important
}
а в конструктор передать:
afterShow: function(){ // afterLoad
   $(".fancybox-inner").css("height", 
      $(".fancybox-iframe")[0].body.clientHeight + "px !important"); // получаем внутреннюю высоту
}

Voshal 11.05.2014 09:51

Цитата:

Сообщение от рони (Сообщение 311330)
Voshal,
если у вас ширина фиксированная -- можно высоту самому подобрать
http://jsfiddle.net/RHaAX/894/

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

Цитата:

Сообщение от rekzi (Сообщение 311339)
Можно в свойствах задать:
.fancybox-inner {
   height: auto !important
}
а в конструктор передать:
afterShow: function(){ // afterLoad
   $(".fancybox-inner").css("height", 
      $(".fancybox-iframe")[0].body.clientHeight + "px !important"); // получаем внутреннюю высоту
}

Спасибо, но пока ничего не вышло(
http://jsfiddle.net/RHaAX/897/

Veterinar 11.05.2014 10:22

Voshal,
так в вашем примере работает плагин fancybox, что же вы его не используете? http://fancybox.net/

рони 11.05.2014 10:38

Цитата:

Сообщение от Veterinar
так в вашем примере работает плагин fancybox, что же вы его не используете?

это как его ещё можно использовать?

рони 11.05.2014 10:56

Цитата:

Сообщение от rekzi
$(".fancybox-iframe")[0].body

а путь к body правильный?

Veterinar 11.05.2014 11:02

рони, я не знаю, пример самим им написан или как ссылка на чужой.

рони 11.05.2014 11:28

Veterinar,
:blink:

rekzi 11.05.2014 11:29

В fiddle в результирующем окне тоже iframe используется. Все работает вроде. Сделай на одной странице все.

rekzi 11.05.2014 11:33

Файл в архиве.

Voshal 11.05.2014 14:32

Пример писал сам, именно на fancybox)
rekzi, вот как работает файл в вашем вложении http://cdn.joxi.ru/uploads/prod/2014...72174b6a49.jpg
А нужно, чтобы фрейм открывало на всю высоту открываемой страницы

Veterinar 11.05.2014 14:33

рони,
:agree:

Voshal 11.05.2014 15:35

Вложений: 1
При клике на Билайн, фрейм должен открываться так
http://cdn.joxi.ru/uploads/prod/2014...b34fdf5187.jpg

При клике на Ростелеком, фрейм должен открываться так
http://cdn.joxi.ru/uploads/prod/2014...5abdfc5123.jpg

То есть высота рассчитывается исходя из высоты открываемой страницы

рони 11.05.2014 16:30

Voshal,
вроде и так с обычными настройками работает -- если все файлы в одном месте -- css убрано
http://learn.javascript.ru/play/b1XL6

Voshal 11.05.2014 16:43

Вложений: 1
Спасибо большое! Я себе голову ломал, а разгадка-то перед носом
autoSize: true
+в карму


Часовой пояс GMT +3, время: 09:08.