我一直在朋友网站上工作,试图修复他的 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 框架中使用一个 init 函数,但运行 Froogaloop.fn.init(唯一的方法)告诉我,我放入其中的任何内容都没有 getAttributes 属性。这一切都相当混乱。我认为我的主要问题是如何使用 froogaloop 初始化这些 iframe?
笔记。我在我的库版本中用 froogaLoop 替换了 $f,因为 $ 似乎会干扰 wordpress。