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动画技术
Jan 01 HTML / CSS
一款利用纯css3实现的360度翻转按钮的实例教程
Nov 05 HTML / CSS
一款纯css3实现的颜色渐变按钮的代码教程
Nov 12 HTML / CSS
纯css3制作网站后台管理面板
Dec 30 HTML / CSS
CSS3条纹背景制作的实战攻略
May 31 HTML / CSS
css3实现简单的白云飘动背景特效
Oct 28 HTML / CSS
HTML5网页音乐播放器的示例代码
Nov 09 HTML / CSS
HTML5 与 XHTML2
Oct 17 HTML / CSS
如何让IE9以下版本(ie6/7/8)认识html5元素
Apr 01 HTML / CSS
浅谈利用缓存来优化HTML5 Canvas程序的性能
May 12 HTML / CSS
HTML5中input[type='date']自定义样式与日历校验功能的实现代码
Jul 11 HTML / CSS
用canvas做一个DVD待机动画的实现代码
Apr 12 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
PHP取得一个类的属性和方法的实现代码
2011/05/22 PHP
php导出excel格式数据问题
2014/03/11 PHP
php 多文件上传的实现实例
2016/10/23 PHP
Win7环境下Apache连接MySQL提示连接已重置的解决办法
2017/05/09 PHP
js parsefloat parseint 转换函数
2010/01/21 Javascript
juqery 学习之六 CSS--css、位置、宽高
2011/02/11 Javascript
js冒泡法和数组转换成字符串示例代码
2013/08/14 Javascript
JavaScript实现图片DIV竖向滑动的方法
2015/04/25 Javascript
基于BootStrap Metronic开发框架经验小结【七】数据的导入、导出及附件的查看处理
2016/05/12 Javascript
js实现可键盘控制的简单抽奖程序
2016/07/13 Javascript
JavaScript中的await/async的作用和用法
2016/10/31 Javascript
jQuery中DOM节点删除之empty与remove
2017/01/20 Javascript
从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法
2018/09/18 Javascript
Vue核心概念Action的总结
2019/01/18 Javascript
JavaScript中Dom操作实例详解
2019/07/08 Javascript
layui select 禁止点击的实现方法
2019/09/05 Javascript
Javascript生成器(Generator)的介绍与使用
2021/01/31 Javascript
[47:10]完美世界DOTA2联赛PWL S3 LBZS vs Rebirth 第二场 12.16
2020/12/18 DOTA
python进阶教程之文本文件的读取和写入
2014/08/29 Python
python模拟登录并且保持cookie的方法详解
2017/04/04 Python
快速入门python学习笔记
2017/12/06 Python
pyinstaller打包多个py文件和去除cmd黑框的方法
2019/06/21 Python
python中树与树的表示知识点总结
2019/09/14 Python
Python Pillow(PIL)库的用法详解
2020/09/19 Python
Pandas对每个分组应用apply函数的实现
2020/12/13 Python
Carter’s OshKosh加拿大:购买婴幼儿服装和童装
2018/11/27 全球购物
英国领先的电视购物零售商:Ideal World
2019/03/18 全球购物
竞聘副主任科员演讲稿
2014/01/11 职场文书
岗位职责的构建方法
2014/02/01 职场文书
安全生产目标责任书
2014/04/14 职场文书
小学教师培训方案
2014/06/09 职场文书
学党史心得体会
2014/09/05 职场文书
奖学金个人总结
2015/03/04 职场文书
Python预测分词的实现
2021/06/18 Python
JavaScript实现登录窗体
2021/06/22 Javascript
Python echarts实现数据可视化实例详解
2022/03/03 Python