滑动滑块,在滑动时暂停HTML5视频。
滑动滑块时暂停HTML5视频可以通过JavaScript来实现。以下是一个实现该功能的示例代码:
<!DOCTYPE html>
<html>
<head>
<title>滑动滑块暂停HTML5视频</title>
<style>
#slider {
width: 200px;
height: 20px;
background-color: #ccc;
position: relative;
}
#slider .handle {
width: 20px;
height: 20px;
background-color: #333;
position: absolute;
top: 0;
left: 0;
cursor: pointer;
}
</style>
</head>
<body>
<video id="video" width="400" controls>
<source src="video.mp4" type="video/mp4">
Your browser does not support HTML5 video.
</video>
<div id="slider">
<div class="handle"></div>
</div>
<script>
var video = document.getElementById('video');
var slider = document.getElementById('slider');
var handle = document.querySelector('#slider .handle');
var isDragging = false;
handle.addEventListener('mousedown', function(e) {
isDragging = true;
});
document.addEventListener('mouseup', function(e) {
if (isDragging) {
isDragging = false;
var percent = (e.clientX - slider.offsetLeft) / slider.offsetWidth;
video.currentTime = percent * video.duration;
video.play();
}
});
document.addEventListener('mousemove', function(e) {
if (isDragging) {
var percent = (e.clientX - slider.offsetLeft) / slider.offsetWidth;
video.currentTime = percent * video.duration;
video.pause();
}
});
</script>
</body>
</html>
上述代码中,我们首先创建了一个包含视频和滑块的HTML页面。滑块使用一个<div>
元素表示,并且通过CSS进行样式设置。视频使用HTML5的<video>
标签,并添加了一个controls
属性以显示视频控制条。
在JavaScript部分,我们获取了视频元素、滑块元素以及滑块的拖动手柄元素。然后,我们监听了手柄的mousedown
事件,当手柄被按下时,将isDragging
变量设置为true
表示正在拖动。
接着,我们监听了整个文档的mouseup
事件,当鼠标释放时,如果正在拖动,则计算出当前拖动位置在滑块中的百分比,并根据百分比设置视频的当前播放时间,然后播放视频。
最后,我们监听了整个文档的mousemove
事件,当鼠标在拖动时,如果正在拖动,则计算出当前拖动位置在滑块中的百分比,并根据百分比设置视频的当前播放时间,然后暂停视频。
这样,当滑块被拖动时,视频会相应地暂停或播放到相应位置。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云