Превращение всех видео Youtube на странице в uLightbox

5026
9 из 10
Проголосовало: 8






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

Механизм работы скрипта прост. Так как у роликов с youtube офигенно большой z-index, то сначала мы нехитрой манипуляцией с адресом ролика дописываем параметр wmode=opaque, после чего накладываем прозрачный оверлей, параллельно перезаписывая ссылку в блоке с готовым фреймом. При клике по оверлею вызываем лайтбокс окно. Более подробное описание никчему

Установка:

В любое место на нужных страницах:
Code

<div id="videocontent" style="display:none;"><iframe width="640" height="360" src="" frameborder="0" allowfullscreen></iframe></div>  
  <script type="text/javascript">  
  var apohtml; // Переменная для проверки ссылки в лайтбокс блоке  

  $(document).ready(function() {  
// Проверка, ролик ли это ютюба + подмена ссылок и наложение оверлея  
$('* iframe').each(function() {  
if($(this).attr('src').indexOf('/embed/') != -1) {  
var aposplit = $(this).attr('src').split('?feature')[0]  
$(this).attr('src', aposplit + '?wmode=opaque');  
$(this).before('<div class="apovideo" style="background:transparent;position:absolute;width:' + $(this).attr('width') + 'px;height:' + $(this).attr('height') + ';z-index:2;" onclick="$(this).children().hide();videoLightbox();return false;" />');  
}  
});  

  // При наведении на оверлей над роликами  
  $('div.apovideo').hover(function() {  
if($(this).next().attr('src') != apohtml) {  
$('#videocontent').find('iframe').attr('src', $(this).next().attr('src'));  
apohtml = $('#videocontent').find('iframe').attr('src');  
};  
  });  

  // Очищаем содержимое лайтбокс блока при закрытии  
  $('#fancybox-overlay, .fancybox-close').click(function(){  
$('div#videocontent').empty();  
  })  
  });  
  </script>
Автор публикации: Загрузка
Загрузка
alex0005, это его n материал
Источник: http://www.apo-ucoz.com
  • Всего комментариев: 5

Вовчик
0
Вовчик написал: Написано 29 Января 2016 в 11:35
Комментарий №5
нашел одну ошибку в коде, но почему скрипт не работает не пойму, ошибка вот тут:

Цитата
$(this).before('<div class="apovideo" style="background:transparent;position:absolute;width:' + $(this).attr('width') + 'px;height:' + $(this).attr('height') + 'px;z-index:2;" onclick="$(this).children().hide();videoLightbox();return false;" />');


px не дописан

barocha69
0
barocha69 написал: Написано 31 мая 2015 в 21:13
Комментарий №4
И у меня не работает, игрался с местом, размерами....

onFire
0
onFire написал: Написано 04 мая 2013 в 13:55
Комментарий №3
Не работает,ставил и в <head> и перед видео и после </body> sad

MonaX
0
MonaX написал: Написано 29 Ноября 2012 в 01:37
Комментарий №1
спасибо.

Ромашка:D
0
Ромашка:D написал: Написано 29 Ноября 2012 в 18:08
Комментарий №2
Не за что!

  • Оставить комментарий:
Добавлять комментарии могут только зарегистрированные пользователи.
Регистрация | Вход
Меню сайта
Категории
Для помощи создания сайта uCoz 25
Скрипты и модификации для Ucoz 2115
Шаблоны форумов Ucoz 28
Шаблоны сайтов Ucoz 431
Авторство Webo4ki 309
php скрипты для ucoz 57
Графика для uCoz 40
Мини-чат
Последние комментарии
Добрый вечер.Подскажите,пожалуйста: как сделать, чтобы второй или третий набор смайлов заменить своими.
Вы сами себе пишите?
  • CbIPoK2513 написал:
  • Скрипт хорош, уже подстроил свой сайт под него :3
  • gefest35 написал:
  • Супер)))!пасиб за работу!!!
  • sasha2016tv написал:
  • Хороший скрипт
    Последние темы
    Опрос
    235
    А
    Р
    Что произойдёт: $("#...
    Статистика
    Анализ интернет сайта
    0
    онлайн
    0
    наших
    0
    чужих
    Онлайн всего: 4
    Гостей: 4
    Пользователей: 0
    0
    Сегодня были
    Топ пользователей: