使用html,css和js给视频设置一个简易进度条

这篇具有很好参考价值的文章主要介绍了使用html,css和js给视频设置一个简易进度条。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

代码依次为body内标签创建,css样式  和script 代码

这里我们先创建我们所需要的标签

视频的盒子,视频文件,进度条,和用来播放,暂停的按钮

<body>
<!-- 设置一个视频盒子 -->
    <div class="videoBox">
        <!-- 引入视频 -->
        <video src="../../../../杂/【素材向】骂谁罕见! - 1.【素材向】骂谁罕见!(Av220190871,P1).mp4" autoplay="autoplay"></video>
        <!-- 给视频进度条一个css样式 -->
        <div class="jindu">
            <!-- 给视频进度条设置一个当前进度的背景颜色 -->
            <div class="jinduyanse"></div>
        </div>
    </div>
    <!-- 创建一个开始播放按钮 -->
    <button class="start">开始播放</button>
</body>

然后我们来设置我们标签所需要的简单样式

按钮我没有设置样式,因为写出来实现效果就行了,有需要的话可以自由发挥

css的进度条样式,width宽度属性,我们可以先写上25% -50%来便于观察效果

等js部分把进度条进度获取之后,需要把width宽度属性设置为0%

样式代码   ↓

 <style>
        /* 设置一个视频盒子 */
        .videoBox {
            width: 400px;
            /* 为了给进度条定位,需要给父级设置一个相对定位 */
            position: relative;
        }

        /* 引入视频,设置视频的尺寸 */
        video {
            width: 400px;
        }

        /* 给视频进度条一个css样式 */
        .jindu {
            width: 360px;
            height: 10px;
            border-radius: 15px;
            background: #959595;
            /* 给自制的进度条设置绝对定位,定位到想要的位置 */
            position: absolute;
            bottom: 5px;
            left: 20px;
        }

        /* 给视频进度条设置一个当前进度的背景颜色 */
        .jinduyanse {
            width: 0%;
            height: 10px;
            border-radius: 15px;
            background: #00ffcc;
        }
    </style>

布局写完了,接下来为重中之重

js的代码需要亿点逻辑,家里面养了逻辑猫的可以带着猫一起看

注释我会写的非常清楚,代码的思路我都会写在上面

js部分代码   ↓

<script>
        window.onload = function () {
            // 获取标签
            let video = document.querySelector('video')     // 获取video标签
            let start = document.querySelector('.start')    //获取开始播放按钮
            let jindu = document.querySelector('.jinduyanse')   //获取进度条
            let timer;           // 设置一个timer接收时钟
            let jindutiao = 0   // 设置进度条初始为0
            let flag = true      // 这里设置flag为true 备用
            // 给开始播放绑定点击事件
            start.addEventListener('click', function () {
                video.play()       // 点击按钮,视频开始播放

                // 设置时钟开始获取视频当前时间
                timer = setInterval(function () {
                    // 并实时显示当前进度
                    jindutiao = video.currentTime / video.duration * 100 + '%'
                    jindu.style.width = jindutiao   //将运算后的百分比赋值给标签的width属性
                }, 100)
                // 当视频结束时
                video.addEventListener('ended', function () {
                    clearInterval(timer)       // 清除定时器
                    flag = !flag                // 取反flag,使flag等于true
                    start.innerHTML = '开始播放'    // 将按钮文本改为开始播放
                })
                // 点击按钮时,如果flag = true
                if (flag) {
                    video.play()        // 则视频开始播放
                    flag = !flag        // 取反flag,使flag = false
                    start.innerHTML = '暂停播放'        // 将按钮文本改为暂停播放
                } else {              // 如果flag 不等于 true ,及flag = false 时
                    video.pause()       // 点击按钮将会暂停播放
                    flag = !flag        // 这时取反flag,使false 变回true
                    start.innerHTML = '开始播放'        //将按钮文本改为开始播放
                }
            })

        }
    </script>

到这就结束了家人们,大家加油文章来源地址https://www.toymoban.com/news/detail-605745.html

到了这里,关于使用html,css和js给视频设置一个简易进度条的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • html、css 和 JS(JavaScript) 的相互关联

    工作所需,需要承担一些字体矢量动效玩法实现;调研发现前端可以快速实现一些矢量动画效果; 本文旨在介绍前端的三大利器(HTML / CSS / JS)的区别和联系,就当个引子 HTML CSS JS 介绍 HTML是超文本标记语言的简称,它是一种不严谨的、简单的标识性语言。它用各种标签将页

    2024年02月10日
    浏览(56)
  • ❤️创意网页:制作一个绚丽的烟花效果(HTML、CSS和JavaScript实现)

    ✨ 博主: 命运之光 🌸 专栏: Python星辰秘典 🐳 专栏: web开发(简单好用又好看) ❤️ 专栏: Java经典程序设计 ☀️ 博主的其他文章: 点击进入博主的主页 前言: 欢迎踏入我的Web项目专栏,一段神奇而令人陶醉的数字世界! 🌌 在这里,我将带您穿越时空,揭开属于

    2024年02月17日
    浏览(81)
  • 前端 :用HTML , CSS ,JS 做一个秒表

    2024年02月06日
    浏览(40)
  • html+js+css实现一个圆形滑块

    html+js+css实现一个圆形滑块,可以拖动,可以点击,先看效果再讲原理,最后附上源码: 产品经理设计了这样一个需求,通过拖动圆形滑块实现时间的设置功能,虽然看着有点复杂,但是确实有点复杂。 实现思路 需求分析: 一个圆盘,一个滑块; 以圆盘为圆心,点击圆盘任

    2024年02月08日
    浏览(46)
  • html css js 开发一个猜数字游戏

    以下是一个使用HTML、CSS和JS开发的简单猜数字游戏的示例: HTML代码: CSS代码(style.css): JavaScript代码(script.js): 将上述代码保存为HTML、CSS和JS文件,并在浏览器中打开HTML文件,即可开始玩猜数字游戏。用户输入一个1到100之间的整数,点击\\\"猜\\\"按钮,程序会给出相应的提

    2024年01月20日
    浏览(53)
  • 如何使用CSS实现一个带有动画效果的进度条?

    前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一个系统而又亲切的学习平台。在这个

    2024年02月11日
    浏览(58)
  • 用HTML+CSS+JS做一个漂亮的个人网页

    个人网页(html+css+js)——带背景音乐、樱花飘落效果 页面美观,样式丰富 可以根据自己需求进行修改 源码在这里获取https://download.csdn.net/download/weixin_61370021/86087510 首页 主页页面 博客页面 相册页面 视频页面 index.html

    2024年02月11日
    浏览(45)
  • 用HTML+CSS+JS做一个简单的个人网页

    暑假在家闲的没事,写了一个简单的小网页,从网上找了些图片和视频拼起来的,由于经验不足的关系,没有将想添加的东西放进去。 先来看看整个网页效果的视频吧 效果的图片如下(最右边空出来的其实是滑动条,截长屏自动没掉了) 首页 自我介绍  我的家乡  大学生涯

    2024年02月09日
    浏览(53)
  • 【html+css+js】如何轻松在网页中嵌入b站视频?

    昨天心情不太好,b站看了原版《海底》N遍,后来无意中对分享处的嵌入代码起了兴趣,因为最近刚好在学web,复制过来瞄了一下,发现是iframe标签,如下所示。   工具:vscode+谷歌浏览器    First  我将这段代码放入body标签内,然后运行,发现提示“该文件可能已被移至别处

    2024年02月03日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包