位置: IT常识 - 正文

纯原生html编写的h5视频播放器(将原生html改成vue)

编辑:rootadmin
#snail-player-native 一个纯原生代码编写的h5视频播放器, 功能完善,基本满足使用,仅供学习,禁止商用 演示 演示加速 Install 1. git clone https://github.com/snail-boy/snail-player-native.git 2. 拷贝l ... snail-player-native一个纯原生代码编写的h5视频播放器, 功能完善,基本满足使用,仅供学习,禁止商用

推荐整理分享纯原生html编写的h5视频播放器(将原生html改成vue),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:html原型,html原生标签,html原生表格,html原型,将原生html改成vue,html原型,原生html开发,原生html组件,内容如对您有帮助,希望把文章链接给更多的朋友!

演示

纯原生html编写的h5视频播放器(将原生html改成vue)

演示加速

Install1. git clone https://github.com/snail-boy/snail-player-native.git2. 拷贝lib目录下的文件到自己项目里Usage

直接运行index.html

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> #snailPlayId { width: 800px; height: 500px; margin: 0 auto; } h1 { text-align: center; } </style></head><body><h1>snail-player</h1><div id='snailPlayId'></div></body><script type="module"> import SnailPlayer from "./lib/index.js"; new SnailPlayer({ el: '#snailPlayId', src: 'https://webrabbit.oss-cn-beijing.aliyuncs.com/drawingbed/video.mp4', autoplay: true, // 是否自动播放 loop: true // 是否循环播放 })</script></html>Some Codemain.js// 计算进度条时间progressTime(offsetY) { return utils.formatSeconds((offsetY / this.progressw * this.playVideo.duration).toFixed(2))}// 进度条计算公式progressCalculate() { return (this.progressw / this.playVideo.duration * this.playVideo.currentTime).toFixed(2)}// 全屏fullScreenFun() { const docElm = document.documentElement if (!this.isFullScreen) { utils.addClass(this.el, 'fullscreen-active') utils.addClass(this.playVideo, 'fullscreen-active') utils.showClass('snail-player-full-screen-icon') utils.hiddenClass('snail-player-fullscreen-btn') utils.changeInnerText('fullscreen-icon', '退出全屏') utils.addClass(this.playBottom, 'sn-player-fullscreen-bottom-active') setTimeout(() => { if (docElm.requestFullscreen) { docElm.requestFullscreen(); } else if (docElm.mozRequestFullScreen) { docElm.mozRequestFullScreen(); } else if (document.webkitRequestFullScreen) { docElm.webkitRequestFullScreen(); } }, 100) this.isFullScreen = true utils.hiddenClass('snail-player-web-fullscreen-box') } else { if (document.exitFullscreen) { document.exitFullscreen(); } else if (document.mozCancelFullScreen) { document.mozCancelFullScreen(); } else if (document.webkitCancelFullScreen) { document.webkitCancelFullScreen(); } utils.showClass('snail-player-web-fullscreen-box') utils.removeClass(this.el, 'fullscreen-active') utils.removeClass(this.playVideo, 'fullscreen-active') utils.hiddenClass('snail-player-full-screen-icon') utils.showClass('snail-player-fullscreen-btn') utils.changeInnerText('fullscreen-icon', '进入全屏') utils.removeClass(this.playBottom, 'sn-player-fullscreen-bottom-active') this.isFullScreen = false }}index.js//加载cssrenderCss(url) { var head = document.getElementsByTagName('head')[0]; var link = document.createElement('link'); link.type='text/css'; link.rel = 'stylesheet'; link.href = url; head.appendChild(link);}//加载faviconrenderIcon(url) { var head = document.getElementsByTagName('head')[0]; var link = document.createElement('link'); link.type='type="image/x-icon"'; link.rel = 'shortcut icon'; link.href = url; head.appendChild(link);}Utilsclass Utils { hasClass(ele, cls) { return !!ele.className.match(new RegExp('(\s|^)' + cls + '(\s|$)')) } addClass(ele, cls) { if (!this.hasClass(ele, cls)) ele.className += ' ' + cls } removeClass(ele, cls) { if (this.hasClass(ele, cls)) { const reg = new RegExp('(\s|^)' + cls + '(\s|$)') ele.className = ele.className.replace(reg, '') } } set(key, value) { localStorage.setItem(key, value) } get(key) { return localStorage.getItem(key) } showClass(cls) { cls ? document.getElementsByClassName(cls)[0].style.display = 'block' : new Error('请输入类名') } hiddenClass(cls) { cls ? document.getElementsByClassName(cls)[0].style.display = 'none' : new Error('请输入类名') } changeInnerText(cls, text) { document.getElementsByClassName(cls)[0].innerHTML = text } clickfu(to, cls){ //回调函数,to为点击对象 to.setAttribute("class",cls); const siblings = to.parentNode.childNodes; for(let i=0; i<siblings.length; i++) if(siblings[i].nodeType == 1 && siblings[i] != to)siblings[i].className = ''; } formatSeconds(value) { if(!value) return '00:00' value = parseInt(value); let time; if (value > -1) { let hour = Math.floor(value / 3600); let min = Math.floor(value / 60) % 60; let sec = value % 60; let day = parseInt(hour / 24); if (day > 0) { hour = hour - 24 * day; time = day + "day " + hour + ":"; } else if (hour > 0) { time = hour + ":"; }else { time = ""; } if (min < 10) { time += "0"; } time += min + ":"; if (sec < 10) { time += "0"; } time += sec; } return time; } classEle(cls) { return cls && document.getElementsByClassName(cls)[0] }}export default UtilsFunction按空格键暂停播放点击屏幕暂停播放视频进度条拖拽,区分颜色鼠标移动到进度条上方显示时间视频快进慢放视频声音控制画中画整屏播放双击全屏播放等运行环境支持es6的各种浏览器最好用chrome源码地址,欢迎star

github地址

gitee地址

欢迎留言issues

Issues

本文链接地址:https://www.jiuchutong.com/zhishi/313363.html 转载请保留说明!

上一篇:织梦生成文章内容缩略图时自动加上绝对路径教程(织梦内容页模板修改)

下一篇:织梦DEDECMS关于提交表单“数据校验不对”的解决办法(织梦设置的关键词看不到)

  • 外贸企业出口退税流程图
  • 增值税发票抵扣是什么意思
  • 可供出售金融资产新准则叫什么
  • 固定资产盘点折旧怎么算
  • 分公司注销需要总公司法人实名确认吗
  • 怎么增加资产减少负债
  • 哪些进项税额不可以抵扣
  • 建筑施工企业涉税问题
  • 五联发票一般用于哪种单位
  • 税控服务费列入管理费用什么费用?
  • 仓库缺货怎么处理
  • 递延所得税当期发生额
  • 代发工资的手续费是多少
  • 买材料的仓储费会计分录
  • 向其他单位无偿提供服务的不需缴纳增值税
  • 企业所得税如何申报操作
  • 什么样的应税行为可以扣除
  • 居民委员会有没有纳税人识别号吗
  • 企业购销业务流程包括哪些
  • 预收账款怎么冲减应收账款
  • 借贷在会计中的增和减
  • 外地项目不预缴税款
  • 个人所得税适合月度税率表有哪些
  • 生产企业出口退税全部流程
  • 人人有份类似的词语
  • 预付款比例怎么算
  • 劳务费个税计算方式
  • 会计准则和会计法的关系
  • 筹建期间内发生的开办费属于什么费用
  • 怎么样防止蹭wi-fi
  • 代开增值税发票沒有付款怎么做账?
  • 特立尼达和多巴哥
  • 不确认收入要结转成本吗
  • php23种设计模式
  • 海关发票丢失怎么处理
  • 非居民纳税人可以做汇算清缴吗
  • jquery制作轮播切换效果
  • -shared
  • 对公账号备用金怎么用
  • 供应商退回多余货款账户可以是打款账号吗
  • 分公司开票总公司收款怎么做账
  • 公司收到股权转让款需要交什么税种
  • mongodb查询表数据
  • phpcms api
  • 会计学中资本的定义
  • 公章变更需要到哪个部门
  • 国外货物进入保税仓需要办理什么
  • 城建税和教育附加税怎么算
  • 公允价值变动损益属于什么科目
  • 已经确认收入的商品发生销售折让
  • 固定资产报废废料收入要发票吗
  • 进项税额转出有什么好处
  • 收到预付款项发票怎么开
  • 小规模年末怎么做账
  • 专门从事研发的公司
  • 外资企业对应的企业是什么
  • 采购方退货的会计分录
  • 无票销售纳税后怎么处理
  • 免费品尝活动广告语
  • 违约金罚款计入什么科目
  • 固定资产清理账户借方
  • 公司股东借款转私人账户
  • Mysql执行sql文件
  • sql函数使用
  • win8系统自带截图
  • 部署与布署哪个正确
  • 苹果15手机价格和图片颜色
  • 挖掘出潜能
  • xp开机启动项在哪里设置方法
  • pavmail.exe - pavmail进程是什么文件 有什么用
  • 方便存储 Win8系统的SkyDrive功能大体验
  • listview的view属性
  • jquery二级导航栏
  • js函数详解
  • 安卓手机启用暴露通知
  • jquery示例
  • 现在还有地方税务登记证吗
  • 研发费用加计扣除2022政策
  • 深圳地税局地址工作时间
  • 烟台税务系统缴费
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设