为了账号安全,请及时绑定邮箱和手机立即绑定

如何使视频仅在单击 javascript 中的按钮时播放

如何使视频仅在单击 javascript 中的按钮时播放

catspeake 2023-03-18 14:53:29
我有一个 div,它里面有一个<video autoplay> <source src='myvid'> </video>,默认情况下 divdisplay ='none'在 css 上有一个。我正在添加一个单击 div 的事件侦听器,一旦单击它,我就会将不显示更改为显示块。问题是视频会在网站重新加载时自动播放,而不是在单击按钮时自动播放。基本上我希望视频仅在 div 显示 ='block' 时播放。我怎么能用 Javascript 做到这一点?
查看完整描述

2 回答

?
千万里不及你

TA贡献1784条经验 获得超9个赞

  • 删除autoplay属性

  • 使用 JavaScript 使用自定义按钮和.play()方法播放视频

<video id="video"> <source src='myvid'></video>
<button id="play">PLAY</button>
document.querySelector("#play").addEventListener("click", () => { 
 document.querySelector("#video").play();
});

如果您不想要自定义按钮(您的问题不清楚),则可以使用属性提供浏览器默认controls

const EL_video = document.querySelector("#video");

const EL_play = document.querySelector("#play");


EL_play.addEventListener("click", () => {

  const isPaused = EL_video.paused;

  EL_video[isPaused ? "play" : "pause"]();

  EL_video.classList.toggle("u-none", !isPaused);

});

#video {width: 300px;}


/* Utility classes: */

.u-none {display: none;}

<button id="play">Toggle &amp; play</button><br>

<video id="video" class="u-none">

  <source src='http://vjs.zencdn.net/v/oceans.mp4' type='video/mp4'>

</video>


查看完整回答
反对 回复 2023-03-18
?
守着星空守着你

TA贡献1799条经验 获得超8个赞

尝试onclick向 div 添加一个属性,如下所示:

<div onclick="play_video();">

或者您可以创建一个按钮:

<button onclick="play_video();">play the video</button>

然后,像这样创建 javascript 函数:

function play_video()
{  document.getElementById("id_of_the_video").play();
}


查看完整回答
反对 回复 2023-03-18
  • 2 回答
  • 0 关注
  • 100 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信