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实现滚动的齿轮动画效果
Jun 05 HTML / CSS
网页切图的CSS和布局经验与要点
Apr 09 HTML / CSS
css3 盒模型以及box-sizing属性全面了解
Sep 20 HTML / CSS
CSS3与动画有关的属性transition、animation、transform对比(史上最全版)
Aug 18 HTML / CSS
CSS3动画特效在活动页中的应用
Jan 21 HTML / CSS
html标签之Object和EMBED标签详解
Jul 04 HTML / CSS
HTML5到底会有什么发展?HTML5的前景展望
Jul 07 HTML / CSS
HTML5单页面手势滑屏切换原理分析
Jul 10 HTML / CSS
canvas离屏技术与放大镜实现代码示例
Aug 31 HTML / CSS
html5实现滑块功能之type=&quot;range&quot;属性
Feb 18 HTML / CSS
html5 canvas 实现光线沿不规则路径运动
Apr 20 HTML / CSS
CSS3 制作精美的定价表
Apr 06 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
Ajax+PHP边学边练 之五 图片处理
2009/12/03 PHP
codeigniter教程之多文件上传使用示例
2014/02/11 PHP
php中数字0和空值的区别分析
2014/06/05 PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
2014/06/27 PHP
php使用escapeshellarg时中文被过滤的解决方法
2016/07/10 PHP
redis+php实现微博(三)微博列表功能详解
2019/09/23 PHP
jquery select动态加载选择(兼容各种浏览器)
2013/02/01 Javascript
js限制checkbox选中个数以限制六个为例
2014/07/15 Javascript
JavaScript之Object类型介绍
2015/04/01 Javascript
新手快速学习JavaScript免费教程资源汇总
2015/06/25 Javascript
javascript自动恢复文本框点击清除后的默认文本
2016/01/12 Javascript
js转html实体的方法
2016/09/27 Javascript
详解js的延迟对象、跨域、模板引擎、弹出层、AJAX【附实例下载】
2016/12/19 Javascript
jquery dataTable 获取某行数据
2017/05/05 jQuery
微信小程序通过一个json实现分享朋友圈图片
2019/09/03 Javascript
JS实现动态无缝轮播
2020/01/11 Javascript
Python Web框架Flask中使用百度云存储BCS实例
2015/02/08 Python
Python求两个圆的交点坐标或三个圆的交点坐标方法
2018/11/07 Python
pandas DataFrame 行列索引及值的获取的方法
2019/07/02 Python
Python秒算24点实现及原理详解
2019/07/29 Python
详解用python生成随机数的几种方法
2019/08/04 Python
CSS3 倾斜的网页图片库实例教程
2009/11/14 HTML / CSS
CSS3 display知识详解
2015/11/25 HTML / CSS
基于HTML5的WebGL实现json和echarts图表展现在同一个界面
2017/10/26 HTML / CSS
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
2013/02/17 面试题
电厂厂长岗位职责
2014/01/02 职场文书
如何打造一封优秀的留学推荐信
2014/01/25 职场文书
五分钟演讲稿
2014/04/30 职场文书
高二学年自我鉴定范文(2篇)
2014/09/26 职场文书
信访维稳工作汇报
2014/10/27 职场文书
JS实现扫雷项目总结
2021/05/19 Javascript
撤回我也能看到!教你用Python制作微信防撤回脚本
2021/06/11 Python
MySQL对数据表已有表进行分区表的实现
2021/11/01 MySQL
解决vue-router的beforeRouteUpdate不能触发
2022/04/14 Vue.js
Python 视频画质增强
2022/04/28 Python
Nginx的gzip相关介绍
2022/05/11 Servers