Адаптивная верстка Youtube видео ролика как фона произвольного контейнера

Это продолжение статьи о адаптивном показе видео из разных источников. Здесь я расскажу о youtube роликах. Для управления роликом буду использовать jQuery плагин jquery.mb.YTPlayer. 

У нас есть много вариантов как выполнить задачу:

  • использовать плагин, который я подобрал;
  • использовать  API YouTube — доки вот тут:
    https://developers.google.com/youtube/iframe_api_reference;
  • вообще не пользоваться плагинами и API.

Нужно понять, что нам даёт каждый вариант. Плагин или API позволит нам выполнить функции вроде остановки / запуска видео. Если этого не требуется, то можно обойтись без плагинов. Вариант без использования плагина вот тут.

Итак, для начала подключим jquery.mb.YTPlayer и jQuery. Стили плагина можно не инклюдить, они нам не нужны.

В секции <head> для мобильных устройств пригодится вот это (я думаю здесь комментарии не нужны):

Пусть у нас в верстке есть контейнер:

Инициализация

ID ролика сохраним в переменной video_id.

Далее идет кусочек кода — инициализация плагина. Обратите внимание на параметры — мы отключаем звук — mute, зацикливаем видео — loop, и отключаем некоторые элементы, которые позволяет отключить плагин.

Адаптируем размеры видео

Специальная функция для обновления размеров сцены и фрейма — vidRescale. Так как плагин добавляет свою  разметку, то приходится следить за 2мя контейнерами.

Эту функцию (vidRescale) надо вызывать в момент изменения размеров контейнера. Если размеры контейнера меняются вместе с размерами окна (window), то используйте код

Если же надо отслеживать resize контейнера отдельно, то приходится писать что то вроде следующего:

Так мы мониторим размеры контейнера и вызываем функцию пересчета, если замечаем изменения.

Пропорции видео

Отдельно стоит упомянуть о пропорциях видео (aspect rate) для YouTube. Я использовал стандартное значение — 16/9. Но бывают ролики с совершенно кастомным отношением сторон, как выудить значение ? Читайте тут.

Управление роликом

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

Стили

Осталось только взглянуть на стили.

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

А вот живой пример на основе предложенного кода (на десктопе можно менять размеры контейнера, потянув за уголок справа-внизу).

Мало букафф? Читайте есчо !

Обновление Inactive User Deleter — v 1.31

Май 2, 2017 г.

Кроме дополнительных фильтров, был добавлен режим удаления пользователей с оповещением по email. Новый режим позволяет не удалять пользователей ...

Читать

Вводные слова, база данных

Март 14, 2017 г.

База данных «вводных слов» извлечена из базы морфологии слов русского языка. Вводные слова не обладают какой либо морфологией, я сформировал только одну таблицу. SQL скрипт размещен на github. Переходим, жмем download. words-russian-introductors.sql.gz ...

Читать

Создание модуля в Drupal

Ноябрь 19, 2015 г.

Небольшой путеводитель по написанию модуля для Drupal 7. Любой "приличный" проект на drupal (да и в других CMS) требует как минимум трех вещей: Взять подходящую сборку drupal (с нужными модулями, установленным Wysiwyg редактором, русификацией); ...

Читать

Как в Drupal 6 удалять свои комментарии?

Июль 24, 2014 г.

Есть такая больная мозоль у drupal - это модуль комментариев. Ситуация как в анекдоте - прислали индусам из России танк. Как ни собирают - получается комбайн. Перечитывают инструкцию по сборке - "после сборки доработать напильником". С комментариями ...

Читать
 

Комментарии к «Адаптивная верстка Youtube видео ролика как фона произвольного контейнера»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: