1
このコードを使用すると、スクロールすると動画が一時停止します。私はビデオが見えなくなったときにビデオを一時停止したい。これはどうすればいいですか?スクロールが表示されているときにYouTube動画を再生
//This code loads the IFrame Player API code asynchronously.
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
//This function creates an <iframe> (and YouTube player)
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('video', {
height: '100%',
width: '100%',
videoId: 'V6Y-ahQFQDA',
playerVars: {
'start': '1',
'color': 'white',
'controls': '1',
'showinfo': '0'
},
events: {
'onReady': playOnScroll,
'onStateChange': playOnScroll
}
});
}
前の部分は動画を読み込むことです。私は私の問題がこのif文であると思う。私がスクロールを開始するとすぐに、コマンドの実行が一時停止し、それを動作させることができません。
function playOnScroll() {
var video = document.getElementById('video');
var x = video.offsetLeft,
y = video.offsetTop,
w = video.offsetWidth,
h = video.offsetHeight,
r = x + w, //right
b = y + h, //bottom
visibleX, visibleY, visible;
visibleX = Math.max(0, Math.min(w, window.pageXOffset + window.innerWidth - x, r - window.pageXOffset));
visibleY = Math.max(0, Math.min(h, window.pageYOffset + window.innerHeight - y, b - window.pageYOffset));
visible = visibleX * visibleY/(w * h);
var percent = 0.6;
var inView = visible > percent;
if (inView) {
console.log('play');
player.playVideo();
} else {
console.log('paused');
player.pauseVideo();
}
}
window.addEventListener('scroll', playOnScroll, false);
window.addEventListener('resize', playOnScroll, false);
たぶん、この質問はあなたに役立つことができます。http://stackoverflow.com/questions/26111919/autoplay-youtube-video-when-scrolled-to –
私はすでにしてきましたそこに、それは私のために働かない。 thx –