Я работал над сайтом друзей, пытаясь исправить его реализацию flexslider, чтобы, если воспроизводится видео vimeo и пользователь переключается на другой слайд, он приостанавливает это видео. У меня возникают проблемы с использованием froogaloop и jquery в этом контексте. Вот код, который я пробовал:
(function () { jQuery('.flexslider').flexslider({
slideshowSpeed: slideshowDelay+"000",
directionNav: false,
animation: "fade" ,
after: function (slider)
{
console.log("next");
var currentSlide = slider.currentSlide;
var slides = slider.slides;
jQuery(slides).each( function (i)
{
if(i != currentSlide)
{
var slide = jQuery(slides[i]);
jQuery(slide).attr({class : 'slide_selector'})
var vimeo = jQuery('.slide_selector iframe');
if(vimeo.length !== 0)
{
var src = jQuery(vimeo).attr('src')
var controlObject = {"method" : "pause" };
var domWindow = vimeo[0].contentWindow;
jQuery(vimeo[0]).bind('ready' , function
{
console.log("PlayerId: "+ player_id)
froogaLoop(player_id).api('pause');
});
}
}
})
}
});
showProject(projectSlug);
});)
Так что это никак не сработало. Я читал, что должен был использовать функцию инициализации во фреймворке Froogaloop, но запуск Froogaloop.fn.init (единственный способ добраться до него) сказал мне, что ничего, что я в него вложил, не имеет свойства getAttributes. Все это было довольно запутанным. Я думаю, что мой главный вопрос - как инициализировать эти фреймы с помощью froogaloop?
Примечание. Я заменил $ f на froogaLoop в своей версии библиотеки, поскольку $, похоже, мешает работе wordpress.