Подтвердить что ты не робот

Заголовок для iframe/видео в большом всплывающем окне

Мне нужно показать заголовок/подпись для всплывающего окна. В типе изображения есть опция для этого, но нет для видео /iframe.

В документах (http://dimsemenov.com/plugins/magnific-popup/documentation.html#iframe_type) я нашел пример разметки шаблонов, но я не понимаю, как сделать заголовок видимым.

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

<a class="popup" title="This is caption" href="#" onclick="location.href='http://vimeo.com/41128754'; return false;"></a>

JS-код

    $('a.popup').magnificPopup({
        disableOn: 700,
        type: 'iframe',
        mainClass: 'mfp-fade',
        removalDelay: 160,
        preloader: false,
        fixedContentPos: true,
        titleSrc: 'title'

    });

Спасибо.

4b9b3361

Ответ 1

Немного поздно, но это может быть полезно для всех, кто ищет ответ.

Атрибут titleSrc применяется только к типу: image, он не работает для iframes. Разработчик Magnific Popup имеет пример того, как добавить заголовок в всплывающее окно iframe: http://codepen.io/dimsemenov/pen/zjtbr

Это JS:

$('.popup').magnificPopup({
  type: 'iframe',
  iframe: {
     markup: '<div class="mfp-iframe-scaler">'+
                '<div class="mfp-close"></div>'+
                '<iframe class="mfp-iframe" frameborder="0" allowfullscreen></iframe>'+
                '<div class="mfp-title">Some caption</div>'+
              '</div>'
  },
  callbacks: {
    markupParse: function(template, values, item) {
     values.title = item.el.attr('title');
    }
  },
  // your other settings
});

Чтобы заголовок появился, вы должны включить этот CSS:

.mfp-title {
  position:absolute;
  /* other formatting */
}

Что это делает:

  • markup добавляет новый div с классом mfp-title в оболочку фрейма, который будет использоваться для отображения заголовка.
  • Обратный вызов markupParse получает атрибут title из ссылки, если он есть, и добавляет его в новый div.
  • Это добавляет заголовок к нижней части видео, независимо от того, где включен div.mfp-title, поскольку он использует абсолютное позиционирование. Вам нужно использовать CSS, чтобы расположить его вверху, например. top: -20px; left:0; (вам понадобится отрицательное значение для вершины, чтобы переместить его выше iframe)

.

У разработчика есть набор примеров здесь, которые могут помочь любому, кто ищет, как делать вещи, не описанные в документации. http://codepen.io/collection/nLcqo/

Ответ 2

Fo iFrame вы должны использовать код встраивания vimeo. В моем проекте я использовал следующий. Может быть, это полезно для вас. Если у вас есть какие-либо вопросы относительно этого, пожалуйста, дайте мне знать.

<iframe height="100" width="100" title="Vimeo Video" class="vimeo" src="http://player.vimeo.com/video/41128754" ></iframe>