热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HTML实例——简单的视频播放器

前两篇博文我们学习了HTML的表单事件与实现一个鼠标点击时,tab栏切换的实例今天我们来实现一个简单的视频播放器HTML——表单事件HTML举例-鼠标点击时

前两篇博文我们学习了HTML的表单事件与实现一个鼠标点击时,tab栏切换的实例
今天我们来实现一个简单的视频播放器

HTML——表单事件
HTML举例-鼠标点击时,tab栏切换


<html>
<head lang&#61;"en"><meta charset&#61;"UTF-8"><title>title><link rel&#61;"stylesheet" href&#61;"css/font-awesome.min.css"/><style>*{margin: 0;padding: 0;}/*多媒体标题*/figcaption{text-align: center;line-height: 150px;font-family: "Microsoft Yahei";font-size:24px;}/* 播放器*/.palyer{width: 720px;height: 360px;margin:10px auto;border: 1px solid #000;background: url(images/loading.gif) center no-repeat #000;background-size:auto 100%;position: relative;border-radius: 20px;}.palyer video{height:100%;display: block;margin:0 auto;/*display: none;*/}/* 控制条*/.controls{width: 700px;height:40px;background-color: rgba(255, 255, 0, 0.3);position: absolute;bottom:10px;left:10px;border-radius: 10px;}/*开关*/.switch{position: absolute;width: 20px;height: 20px;left:10px;top:10px;text-align: center;line-height: 20px;color:yellow;}/*进度条*/.progress{width: 432px;height: 10px;position: absolute;background-color: rgba(255,255,255,0.4);left:40px;top:15px;border-radius: 4px;overflow: hidden;}/* 当前进度*/.curr-progress{width: 50%;height: 10px;background-color: #fff;}/* 时间模块*/.time{width: 120px;height: 20px;text-align: center;line-height: 20px;color:#fff;position: absolute;left:510px;top:10px;font-size:12px;}/*全屏*/.extend{position: absolute;width: 20px;height: 20px;right:20px;top:10px;text-align: center;line-height: 20px;color:yellow;}style>
head>
<body><figure><figcaption>视频案例figcaption><div class&#61;"palyer"><video src&#61;"video/fun.mp4">video><div class&#61;"controls"><a href&#61;"#" class&#61;"switch icon-play">a><div class&#61;"progress"><div class&#61;"curr-progress">div>div><div class&#61;"time"><span class&#61;"curr-time">00:00:00span>/<span class&#61;"total-time">00:00:00span>div><a href&#61;"#" class&#61;"extend icon-resize-full">a>div>div>figure><script>// 思路&#xff1a;/** 1、点击按钮 实现播放暂停并且切换图标* 2、算出视频的总时显示出出来* 3、当视频播放的时候&#xff0c;进度条同步&#xff0c;当前时间同步* 4、点击实现全屏*/// 获取需要的标签var video&#61;document.querySelector(&#39;video&#39;);
// 播放按钮var playBtn&#61;document.querySelector(&#39;.switch&#39;);
// 当前进度条var currProgress&#61;document.querySelector(&#39;.curr-progress&#39;);
// 当前时间var currTime&#61;document.querySelector(&#39;.curr-time&#39;);
// 总时间var totalTime&#61;document.querySelector(&#39;.total-time&#39;);
// 全屏var extend&#61;document.querySelector(&#39;.extend&#39;);var tTime&#61;0;// 1、点击按钮 实现播放暂停并且切换图标playBtn.onclick&#61;function(){
// 如果视频播放 就暂停&#xff0c;如果暂停 就播放if(video.paused){
// 播放video.play();//切换图标this.classList.remove(&#39;icon-play&#39;);this.classList.add(&#39;icon-pause&#39;);}else{
// 暂停video.pause();
// 切换图标this.classList.remove(&#39;icon-pause&#39;);this.classList.add(&#39;icon-play&#39;);}}// 2、算出视频的总时显示出出来
// 当时加载完成后的事件&#xff0c;视频能播放的时候video.oncanplay&#61;function(){
// 获取视频总时长tTime&#61;video.duration;console.log(tTime);// 将总秒数 转换成 时分秒的格式&#xff1a;00&#xff1a;00:00
// 小时var h&#61;Math.floor(tTime/3600);
// 分钟var m&#61;Math.floor(tTime%3600/60);
// 秒var s&#61;Math.floor(tTime%60);// console.log(h);
// console.log(m);
// console.log(s);// 把数据格式转成 00:00&#xff1a;00h&#61;h>&#61;10?h:"0"&#43;h;m&#61;m>&#61;10?m:"0"&#43;m;s&#61;s>&#61;10?s:"0"&#43;s;console.log(h);console.log(m);console.log(s);
// 显示出来totalTime.innerHTML&#61;h&#43;":"&#43;m&#43;":"&#43;s;}
// * 3、当视频播放的时候&#xff0c;进度条同步&#xff0c;当前时间同步
// 当时当前时间更新的时候触发video.ontimeupdate&#61;function(){
// 获取视频当前播放的时间
// console.log(video.currentTime);
// 当前播放时间var cTime&#61;video.currentTime;
// 把格式转成00:00:00var h&#61;Math.floor(cTime/3600);
// 分钟var m&#61;Math.floor(cTime%3600/60);
// 秒var s&#61;Math.floor(cTime%60);// 把数据格式转成 00:00&#xff1a;00h&#61;h>&#61;10?h:"0"&#43;h;m&#61;m>&#61;10?m:"0"&#43;m;s&#61;s>&#61;10?s:"0"&#43;s;// 显示出当前时间currTime.innerHTML&#61;h&#43;":"&#43;m&#43;":"&#43;s;// 改变进度条的宽度&#xff1a; 当前时间/总时间var value&#61;cTime/tTime;currProgress.style.width&#61;value*100&#43;"%";}// 全屏extend.onclick&#61;function(){
// 全屏的h5代码video.webkitRequestFullScreen();}
script>
body>
html>


推荐阅读
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 本文介绍如何使用Objective-C结合dispatch库进行并发编程,以提高素数计数任务的效率。通过对比纯C代码与引入并发机制后的代码,展示dispatch库的强大功能。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 本文详细介绍了如何解决Uploadify插件在Internet Explorer(IE)9和10版本中遇到的点击失效及JQuery运行时错误问题。通过修改相关JavaScript代码,确保上传功能在不同浏览器环境中的一致性和稳定性。 ... [详细]
  • 本文介绍了如何利用JavaScript或jQuery来判断网页中的文本框是否处于焦点状态,以及如何检测鼠标是否悬停在指定的HTML元素上。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文详细介绍了如何使用Python编写爬虫程序,从豆瓣电影Top250页面抓取电影信息。文章涵盖了从基础的网页请求到处理反爬虫机制,再到多页数据抓取的全过程,并提供了完整的代码示例。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ... [详细]
author-avatar
mobiledu2502875577
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有