gpt4 book ai didi

javascript - 悬停图像,播放特定视频

转载 作者:行者123 更新时间:2023-11-28 03:20:04 25 4
gpt4 key购买 nike

首先,我对 Javascript 很陌生,但也涉足过一些,通过互联网观看视频。

我想将图像用作触发对象来播放与它们相对应的视频。可以说我有 3 张图片。 img1 (vid1) img2 (vid2) img3 (vid3)。如果我将鼠标悬停在其中一张图像上方,则播放与其对应的图像。 (我显然需要在我的视频源中引用不同的视频)

我可以悬停并播放单个视频,但不确定如何拥有可以加载并播放到 html 视频的多个源。

HTML:

<div class = "videoContainer"> 
<video id="video" src="Videos/Glitch.mp4" height = "180">
<div class ="body">
<div class = "textPresets">
<input class ="glitch" type = "image" src ="Pics/Glitch.png" onmouseover="playVideo()" onmouseout ="pauseVideo()">

<div class="line"></div>

<input class ="gold" type = "image" src ="Pics/Golden-Text_Preview.png" onmouseover="playVideo()" onmouseout = "pauseVideo()">

<div class="line"></div>

<input class ="chrome" type = "image" src ="Pics/Chrome-Text_Preview.png" onmouseover="playVideo()" onmouseout = "pauseVideo()">
</div>
</div>
</div>

JavaScript:

var myVideo = document.getElementById("video");
function playVideo() {
myVideo.play();
}
function pauseVideo() {
myVideo.pause();
}

非常感谢!

最佳答案

您可以在每个图像输入控件上使用 html 中的数据属性,其中包含您要播放的视频源。

数据属性由您定义,因此您可以使用类似 data-video-src="video.mp4" 的属性。我不知道其他视频的文件名,但根据您的示例,我假设它们与图像文件名相同。您还必须在 onmouseover 事件上使用 this 传递对控件的引用,因此它将更改为 onmouseover="playVideo(this);

<video id="video" height="180">

<input class="glitch" type="image" src="Pics/Glitch.png" data-video-src="Videos/Glitch.mp4" onmouseover="playVideo(this)" onmouseout="pauseVideo()">
<input class="gold" type="image" src="Pics/Golden-Text_Preview.png" data-video-src="Videos/Golden-Text_Preview.mp4" onmouseover="playVideo(this)" onmouseout="pauseVideo()">
<input class="chrome" type="image" src="Pics/Chrome-Text_Preview.png" data-video-src="Videos/Chrome-Text_Preview.mp4" onmouseover="playVideo(this)" onmouseout="pauseVideo()">

然后更改 JavaScript 以根据每个图像的数据属性使用视频源

var myVideo = document.getElementById("video");

function playVideo(elem) {

// get the data attribute with the video source
// note that 'elem' is a reference to the specific control you are mousing over
var videoSource = elem.getAttribute('data-video-src');

// update the video control with the video source for this image
myVideo.setAttribute('src', videoSource);

// play the video
myVideo.play();
}

function pauseVideo() {
myVideo.pause();
}

祝你好运!如果您有任何疑问或需要澄清,请发表评论

关于javascript - 悬停图像,播放特定视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59239508/

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