Скрытие видео с YouTube, когда оно скрыто с помощью jquery - PullRequest
2 голосов
/ 02 мая 2011

Здесь уже есть пара похожих вопросов, но ни один из них не подходит для моего приложения.

На моем веб-сайте я открываю лайтбокс со встроенными видео для просмотра пользователем.Они нажимают на миниатюру, и видео появляется справа от миниатюр.Вот код JavaScript, который я использую:

$ (документ) .ready (function () {$ ('. Vidframe'). Hide ();

    $('a').click(function () {

        $('.vidframe').hide();
        $('#'+this.id.substr(4)).fadeToggle(400);
    });



});

и ссылка jsFiddleк полуработающему примеру: http://jsfiddle.net/YX8pQ/24/

Однако при переходе с одного видео на другое видео не останавливается. Я попытался удалить его из DOM, изменив

$('.vidframe').hide();

to

$('.vidframe').remove();

Однако это, ну, удаляет все видео из моей DOM и полностью разрушает. Есть ли способ скрыть видео при переходе от одного к другому, но остановить воспроизведение И буферизациюiframe? Я чувствую, что нахожусь на правильном пути с .remove (), но не знаю, куда идти.

1 Ответ

4 голосов
/ 02 мая 2011

Привет, я только что взглянул на твой код.

У тебя все в порядке, но причина, по которой фильм не останавливается, просто в том, что прячешься.видимая настройка: нет;Так что они все еще будут играть.

Способ сделать это - создать динамические фреймы с определенным идентификатором.

Когда кто-то нажимает на следующий фильм, он будет .remove ()текущий фильм.поместите новый на место с идентификатором, который вы помните где-то.А затем снова вставьте удаленный в скрытый iframe, чтобы он мог подготовить буфер и незаметно подготовиться.Вы не должны делать скрытую загрузку, но если у вас не будет большого количества фильмов, это нормально - это проблематично, только когда вы начинаете предварительную загрузку десятков фильмов.Разделяйте ваш код и изменяйте его структуру - также я использую примерно на 30% меньше кода - потому что я заставляю jquery выполнять тяжелую работу.

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

Проверьте новую версию вашей скрипки

http://jsfiddle.net/YX8pQ/25/

, а также прочитайте их - возможноВы сможете сделать что-то лучше.

http://code.google.com/apis/youtube/iframe_api_reference.html

Остановить воспроизведение всех встроенных вставок YouTube?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...