Адаптивная верстка 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. Но бывают ролики с совершенно кастомным отношением сторон, как выудить значение ? Читайте тут.

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

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

Стили

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

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

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

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

По ту сторону от большого взрыва

Октябрь 4, 2015 г.
Хронология большого взрыва

О теории большого взрыва многие слыхали. Если вкратце, то сначала всех времен, где то 14 млрд. лет назад жил-был очень мощный фотон. Или квант какого то ...

Читать

TS: функция преобразования к каноническому пути

Март 15, 2023 г.

Увидел эту задачу на leetcode - https://leetcode.com/problems/simplify-path/, где не так часто встречаются задачи близкие к практиктическому программированию. Ранее уже приводил решение подобной задачи для PHP. Здесь порешаем её уже на TS. Задача ...

Читать

Удалить название типа публикации из адреса кастомного типа публикации

Ноябрь 18, 2017 г.

При создании собственного типа публикации в Wordpress, вы получите ЧПУ, содержащий в самом начале название этого типа материала. Можно ли избавиться от этого? К примеру, вы зарегистрировали тип публикации portfolio: [crayon-6a052d5c953f3481395782/] ...

Читать

Добавляем параметры в настройки Wordpress

Август 7, 2017 г.

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

Читать
 

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

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



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