gpt4 book ai didi

javascript - 页面上任意数量视频的 HTML5 视频自定义控件

转载 作者:可可西里 更新时间:2023-11-01 13:05:35 24 4
gpt4 key购买 nike

friend 们!

我需要一个简单的文本按钮——“播放”。如果正在播放视频,它应该是隐藏的,当视频结束时应该是可见的。一切正常,但只有当我在页面上有一个具有唯一 ID 的视频时它才有效。

HTML:

<video id="main-video" width="640" height="480">
<source src="media//mp4/video.mp4" type="video/mp4">
</video>
<span id="custom-play-button">Play</span>

这是 JS:

window.onload = function() {
var video = document.getElementById("main-video");
var playButton = document.getElementById("custom-play-button");
playButton.addEventListener("click", function() {
document.getElementById('main-video').addEventListener('ended',myHandler,false);
video.play();
playButton.style.visibility = "hidden";
function myHandler(e) {
playButton.style.visibility = "visible";
}
});
}

但是如果页面上会有4,5,6...100个视频(而且会有)怎么办?我无法处理 100 个唯一 ID...

最佳答案

您可以将每个视频和按钮放在父 div 标签中,如下所示。

<div class="video-container">
<video id="main-video" width="640" height="480">
<source src="media//mp4/video.mp4" type="video/mp4">
</video>
<span id="custom-play-button">Play</span>
</div>

我正在使用 jQuery 代码,您可以轻松地将其转换为纯 JS。这应该有效。

$(".video-container").each(function () {
var video = $(this).find("video");
var plainVideo = video.get(0);/*DOM video object, unwrapped from jQuery*/
var playBtn = $(this).find("span");

playBtn.click(function () {
video.get(0).addEventListener('ended',myHandler,false);
plainVideo.play();
playBtn.css("visibility", "hidden");

function myHandler(e) {
playBtn.css("visibility", "visible");
}
});
});

至少这会让您对解决此问题的方法有所了解。

关于javascript - 页面上任意数量视频的 HTML5 视频自定义控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33645217/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com