将视频自动播放延迟 fullpage.js
Delay the autoplay of video in fullpage.js
我正在寻找一种使用 fullpage.js
延迟自动播放的方法
在标签中我实际上使用了数据源(用于延迟加载)和自动播放
只需使用回调 afterLoad
自行完成。然后添加一个setTimeout或类似的:
afterLoad: function(anchorLink, index){
setTimeout(function(){
//playing HTML5 media elements
$(this).find('video, audio').each(function(){
var element = $(this).get(0);
if( element.hasAttribute('data-myautoplay') && typeof element.play === 'function' ) {
element.play();
}
});
}, 2000); //2 seconds delay
},
当然,您必须停止使用 fullpage.js 自动播放功能,因此请从您的视频中删除 autoplay
属性。使用 data-myautoplay="true"
使上面的代码生效。
解决方案
HTML
<video id ="video_intro" width="XXX" height="XXX" poster=".../poster.svg">
<source data-src=".../video.webm" type="video/webm">
<source data-src=".../video.mp4" type="video/mp4">
</video>
JS
afterLoad: function(anchorLink, index){
var video = document.getElementById("video_intro");
video.addEventListener("canplay", function() {
setTimeout(function() {
video.play();
}, 2000);
});
}
我正在寻找一种使用 fullpage.js
延迟自动播放的方法在标签中我实际上使用了数据源(用于延迟加载)和自动播放
只需使用回调 afterLoad
自行完成。然后添加一个setTimeout或类似的:
afterLoad: function(anchorLink, index){
setTimeout(function(){
//playing HTML5 media elements
$(this).find('video, audio').each(function(){
var element = $(this).get(0);
if( element.hasAttribute('data-myautoplay') && typeof element.play === 'function' ) {
element.play();
}
});
}, 2000); //2 seconds delay
},
当然,您必须停止使用 fullpage.js 自动播放功能,因此请从您的视频中删除 autoplay
属性。使用 data-myautoplay="true"
使上面的代码生效。
解决方案
HTML
<video id ="video_intro" width="XXX" height="XXX" poster=".../poster.svg">
<source data-src=".../video.webm" type="video/webm">
<source data-src=".../video.mp4" type="video/mp4">
</video>
JS
afterLoad: function(anchorLink, index){
var video = document.getElementById("video_intro");
video.addEventListener("canplay", function() {
setTimeout(function() {
video.play();
}, 2000);
});
}