Javascript 滚动自动播放视频,但仅播放一次
我对jquery非常陌生,所以我从另一个stackoverflow问题中获得了这段代码,但我不知道如何调整它 我有一个视频,当它滚动到窗口时自动播放。但是,如果视频暂停,用户甚至滚动一个像素,视频将再次启动。如果用户滚动时视频仍在窗口中,我希望视频保持暂停 理想情况下,如果视频完全看不见,然后又重新播放,自动播放将再次运行。如果该自动播放功能只运行一次,并且用户可以选择再次播放视频(如果他们愿意),则该功能也会起作用Javascript 滚动自动播放视频,但仅播放一次,javascript,jquery,video,autoscroll,Javascript,Jquery,Video,Autoscroll,我对jquery非常陌生,所以我从另一个stackoverflow问题中获得了这段代码,但我不知道如何调整它 我有一个视频,当它滚动到窗口时自动播放。但是,如果视频暂停,用户甚至滚动一个像素,视频将再次启动。如果用户滚动时视频仍在窗口中,我希望视频保持暂停 理想情况下,如果视频完全看不见,然后又重新播放,自动播放将再次运行。如果该自动播放功能只运行一次,并且用户可以选择再次播放视频(如果他们愿意),则该功能也会起作用 $(document).ready(function() { // G
$(document).ready(function() {
// Get media - with autoplay disabled (audio or video)
var media = $('.autoplay').not("[autoplay='autoplay']");
var tolerancePixel = 40;
function checkMedia() {
// Get current browser top and bottom
var scrollTop = $(window).scrollTop() + tolerancePixel;
var scrollBottom = $(window).scrollTop() + $(window).height() - tolerancePixel;
media.each(function(index, el) {
var yTopMedia = $(this).offset().top;
var yBottomMedia = $(this).height() + yTopMedia;
if (scrollTop < yBottomMedia && scrollBottom > yTopMedia)
$(this).get(0).play();
else
$(this).get(0).pause();
});
}
$(document).on('scroll', checkMedia);
});
$(文档).ready(函数(){
//获取媒体-禁用自动播放(音频或视频)
var media=$('.autoplay')。不是(“[autoplay='autoplay']”);
var公差像素=40;
函数checkMedia(){
//从上到下获取当前浏览器
var scrollTop=$(窗口).scrollTop()+公差像素;
var scrollBottom=$(窗口).scrollTop()+$(窗口).height()-公差像素;
媒体。每个(功能(索引,el){
var yTopMedia=$(this).offset().top;
var yBottomMedia=$(this).height()+yTopMedia;
如果(scrollTopyTopMedia)
$(此).get(0.play();
其他的
$(this.get(0.pause());
});
}
$(文档)。在('scroll',checkMedia)上;
});
只需将元素标记为已播放
if( scrollTop < yBottomMedia && scrollBottom > yTopMedia){
if (!$(el).attr('data-played')){
$(el).attr('data-played',1);
$(this).get(0).play();
}
} else {
$(this).get(0).pause();
}
if(滚动顶部yTopMedia){
if(!$(el).attr('data-played')){
$(el).attr('数据播放',1);
$(此).get(0.play();
}
}否则{
$(this.get(0.pause());
}