Javascript HTML5 视频 - 以编程方式显示/隐藏控件

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/5399412/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-23 17:01:45  来源:igfitidea点击:

HTML5 video - show/hide controls programmatically

javascriptgoogle-chromehtml5-video

提问by Weatherman

I am looking for a way to show or hide HTML5 video controls at will via javascript. The controls are currently only visible when the video starts to play

我正在寻找一种通过 javascript 随意显示或隐藏 HTML5 视频控件的方法。控件目前仅在视频开始播放时可见

Is there a way to do this with the native video controls?

有没有办法用原生视频控件来做到这一点?

I'm using google chrome browser.

我正在使用谷歌浏览器。

回答by jessegavin

<video id="myvideo">
  <source src="path/to/movie.mp4" />
</video>

<p onclick="toggleControls();">Toggle</p>

<script>
var video = document.getElementById("myvideo");

function toggleControls() {
  if (video.hasAttribute("controls")) {
     video.removeAttribute("controls")   
  } else {
     video.setAttribute("controls","controls")   
  }
}
</script>

See it working on jsFiddle: http://jsfiddle.net/dgLds/

看看它在 jsFiddle 上工作:http: //jsfiddle.net/dgLds/

回答by Jakob Sternberg

Here's how to do it:

这是如何做到的:

var myVideo = document.getElementById("my-video")    
myVideo.controls = false;

Working example: https://jsfiddle.net/otnfccgu/2/

工作示例:https: //jsfiddle.net/otnfccgu/2/

See all available properties, methods and events here: https://www.w3schools.com/TAGs/ref_av_dom.asp

在此处查看所有可用的属性、方法和事件:https: //www.w3schools.com/TAGs/ref_av_dom.asp

回答by foool

CARL LANGEalso showed how to get hidden, autoplaying audio in html5 on a iOS device. Works for me.

CARL LANGE还展示了如何在 iOS 设备上的 html5 中隐藏、自动播放音频。为我工作。

In HTML,

在 HTML 中,

<div id="hideme">
    <audio id="audioTag" controls>
        <source src="/path/to/audio.mp3">
    </audio>
</div>

with JS

用JS

<script type="text/javascript">
window.onload = function() {
    var audioEl = document.getElementById("audioTag");
    audioEl.load();
    audioEl.play();
};
</script>

In CSS,

在 CSS 中,

#hideme {display: none;}