【发布时间】:2019-01-12 07:32:39
【问题描述】:
我正在尝试让嵌入的 Vimeo 视频在退出视口时暂停,并允许另一个嵌入的 Vimeo 视频在进入视口时播放。
我一直在探索各种解决方案,发现 Froogaloop 可以完美运行,但我相信是旧的 Vimeo api。
我得到了一个视频在退出时暂停的确切示例,但它使用的是 ID 而不是类,因此无法在多个视频上使用,并且不完全确定如何完成此操作。
<div class="inner">
<iframe id="video" src="https://player.vimeo.com/video/220643186?
autoplay=1&loop=1&color=357ded&title=0&byline=0&portrait=0" width="640"
height="360" frameborder="0" webkitallowfullscreen mozallowfullscreen
allowfullscreen></iframe>
</div>
查询:
var iframe = document.getElementById('video');
// $f == Froogaloop
var player = $f(iframe);
var inner = $(".inner");
var elementPosTop = inner.position().top;
var viewportHeight = $(window).height();
$(window).on('scroll', function () {
var scrollPos = $(window).scrollTop();
var elementFromTop = elementPosTop - scrollPos;
if (elementFromTop > 0 && elementFromTop < elementPosTop + viewportHeight) {
inner.addClass("active");
player.api("play");
} else {
inner.removeClass("active");
player.api("pause");
}
});
任何帮助将不胜感激:)
【问题讨论】: