如何解决如何在可见性上播放视频
我有一些视频存储在 MysqL 数据库中,我已将它们提取到我的网页,我正在尝试在可见性上播放这些视频,我已经尝试了很长时间来播放这些视频,但只有其中一个继续播放,这是我的代码
<div style="width:100%; background-color:black; margin-top:10px;">
<?PHP
$m31= MysqLi_query($con,"SELECT * FROM `video` " );
while($row = MysqLi_fetch_assoc($m31)){
$vid = $row['vid'];
$id = $row['id'];
?>
<video id="myvideo" style="width:100%; height:400px;" controls />
<source style="width:100%; height:400px;" src="video/<?PHP echo $vid ; ?>" />
</video>
<?PHP } ?>
</div>
<script>
let options = {
root: null,rootmargin:'0px',threshold:1.0
};
let myback = (entries,observer)=>{
entries.forEach(entry => {
if(entry.target.id == 'myvideo'){
if(entry.isIntersecting){
entry.target.play();
}else{
entry.target.pause();
}
}
});
}
let observer = new IntersectionObserver(myback,options);
observer.observe(document.querySelector('#myvideo'));
我尝试过这样的事情,但我得到了 undifined id
<video id="myvideo<?PHP echo $id ?>" style="width:100%; height:400px;" controls />
<source style="width:100%; height:400px;" src="video/<?PHP echo $vid ; ?>" />
</video>
<?PHP } ?>
</div>
<script>
let options = {
root: null,observer)=>{
entries.forEach(entry => {
if(entry.target.id == 'myvideo'+id){
if(entry.isIntersecting){
entry.target.play();
}else{
entry.target.pause();
}
}
});
}
let observer = new IntersectionObserver(myback,options);
observer.observe(document.querySelector('#myvideo'+id));
</script>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。