html5 自定义播放器核心代码


Posted in HTML / CSS onDecember 20, 2013

网页html

复制代码
代码如下:

<body style="background-color:#8EEE5EE;">
<section id="skin">
<video id="myMovie" width="640" height="360">
<source src="videos/Introduction.mp4">
</video>
<nav>
<div id="buttons">
<button type="button" id="playButton">Play</button>
</div>
<div id="defaultBar">
<div id="progressBar"></div>
</div>
<div style="clear:both"></div>
</nav>
</section>
</body>

css样式
复制代码
代码如下:

body{
text-align:center;
}
header,section,footer,aside,nav,article,hgroup{
display:block;
}
#skin{
width:700px;
margin:10px auto;
padding:5px;
background:red;
border:4px solid black;
border-radius:20px;
}
nav{
margin:5px 0px;
}
#buttons{
float:left;
width:70px;
height:22px;
}
#defaultBar{
position:relative;
float:left;
width:600px;
height:14px;
padding:4px;
border:1px solid black;
background:yellow;
}
/*progressBar在defaultBar内部*/
#progressBar{
position:absolute;
width:0px; /*使用javascript控制变化*/
height:14px; /*和defaultBar高度相同*/
background:blue;
}

javascript代码
复制代码
代码如下:

function doFisrt()
{
barSize=600; //注意不要使用px单位,且不要用var,是全局变量
myMovie=document.getElementById('myMovie');
playButton=document.getElementById('playButton');
bar=document.getElementById('defaultBar');
progressBar=document.getElementById('progressBar');
playButton.addEventListener('click',playOrPause,false); //第三个参数总是false, Register the event handler for the bubbling phase.
bar.addEventListener('click',clickedBar,false);
}
//控制movie播放和停止
function playOrPause(){
if(!myMovie.paused && !myMovie.ended){
myMovie.pause();
playButton.innerHTML='Play';
window.clearInterval(updatedBar);
}else{
myMovie.play();
playButton.innerHTML='pause';
updatedBar=setInterval(update,500);
}
}
//控制进度条的动态显示
function update(){
if(!myMovie.ended){
var size=parseInt(myMovie.currentTime*barSize/myMovie.duration);
progressBar.style.width=size+'px';
}else{
progressBar.style.width='0px';
playButton.innerHTML='Play';
window.clearInterval(updatedBar);
}
}
//鼠标点击进度条控制方法
function clickedBar(e){
if(!myMovie.paused && !myMovie.ended){
var mouseX=e.pageX-bar.offsetLeft;
var newtime=mouseX*myMovie.duration/barSize; //new starting time
myMovie.currentTime=newtime;
progressBar.style.width=mouseX+'px';
window.clearInterval(updatedBar);
}
}
window.addEventListener('load',doFisrt,false);

好东西啊,摘了代码部分
HTML / CSS 相关文章推荐
css3动画效果抖动解决方法
Sep 03 HTML / CSS
css3 iphone玻璃透明气泡完美实现
Mar 20 HTML / CSS
CSS3正方体旋转示例代码
Aug 08 HTML / CSS
可以随进度显示不同颜色的css3进度条分享
Apr 11 HTML / CSS
CSS3中使用RGBa来调节透明度的教程
May 09 HTML / CSS
基于HTML5 的人脸识别活体认证的实现方法
Jun 22 HTML / CSS
html5中的一些标签学习(心得)
Oct 18 HTML / CSS
HTML5页面直接调用百度地图API获取当前位置直接导航目的地的实现代码
Mar 02 HTML / CSS
解决HTML5中滚动到底部的事件问题
Aug 22 HTML / CSS
简单实现一个手持弹幕功能+文字抖动特效
Mar 31 HTML / CSS
CSS 还能这样玩?奇思妙想渐变的艺术
Apr 27 HTML / CSS
深入理解CSS 中 transform matrix矩阵变换问题
Aug 30 HTML / CSS
谷歌浏览器小字体处理方案即12px以下字体
Dec 17 #HTML / CSS
利用html5的websocket实现websocket聊天室
Dec 12 #HTML / CSS
html5拍照功能实现代码(htm5上传文件)
Dec 11 #HTML / CSS
html5教程实现Photoshop渐变色效果
Dec 04 #HTML / CSS
html5教程调用绘图api画简单的圆形代码分享
Dec 04 #HTML / CSS
html5教程画矩形代码分享
Dec 04 #HTML / CSS
html5教程制作简单画板代码分享
Dec 04 #HTML / CSS
You might like
星际争霸 Starcraft 秘技补丁
2020/03/14 星际争霸
了解咖啡雨林联盟认证 什么是雨林认证 雨林认证是什么意思
2021/03/05 新手入门
PHP如何解决网站大流量与高并发的问题
2011/06/25 PHP
PHP基于mssql扩展远程连接MSSQL的简单实现方法
2016/10/08 PHP
WordPress 插件——CoolCode使用方法与下载
2007/07/02 Javascript
extjs grid取到数据而不显示的解决
2008/12/29 Javascript
prototype与jquery下Ajax实现的差别
2009/09/13 Javascript
javascript Firefox与IE 替换节点的方法
2010/02/24 Javascript
单击某一段文字改写文本颜色
2014/06/06 Javascript
js基础之DOM中document对象的常用属性方法详解
2016/10/28 Javascript
Angular 4.x+Ionic3踩坑之Ionic3.x pop反向传值详解
2018/03/13 Javascript
vue2中使用less简易教程
2018/03/27 Javascript
jQuery实现为table表格动态添加或删除tr功能示例
2019/02/19 jQuery
浅谈express.js框架中间件(middleware)
2019/04/07 Javascript
微信小程序全局变量改变监听的实现方法
2019/07/15 Javascript
JS多个异步请求 按顺序执行next实现解析
2019/09/16 Javascript
Layui带搜索的下拉框的使用以及动态数据绑定方法
2019/09/28 Javascript
JS实现横向跑马灯效果代码
2020/04/20 Javascript
vue组件中传值EventBus的使用及注意事项说明
2020/11/16 Javascript
python解决字典中的值是列表问题的方法
2013/03/04 Python
python字符串连接的N种方式总结
2014/09/17 Python
Python计算字符宽度的方法
2016/06/14 Python
python利用MethodType绑定方法到类示例代码
2017/08/27 Python
Python读写zip压缩文件的方法
2018/08/29 Python
详解Python3序列赋值、序列解包
2019/05/14 Python
Python Web程序搭建简单的Web服务器
2019/07/31 Python
解决Pytorch 加载训练好的模型 遇到的error问题
2020/01/10 Python
Python pyautogui模块实现鼠标键盘自动化方法详解
2020/02/17 Python
字符串str除首尾字符外的其他字符按升序排列
2013/03/08 面试题
教师自荐书
2013/10/08 职场文书
四年的个人工作自我评价
2013/12/10 职场文书
学生手册家长评语
2014/02/10 职场文书
担保贷款承诺书
2015/04/30 职场文书
2016年9月份红领巾广播稿
2015/12/21 职场文书
微信小程序用户授权最佳实践指南
2021/05/08 Javascript
Java实现房屋出租系统详解
2021/10/05 Java/Android