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 圆角效果
Jul 15 HTML / CSS
CSS3盒子模型详解
Apr 24 HTML / CSS
CSS3控制HTML元素动画效果
Feb 08 HTML / CSS
css3 图片圆形显示 如何CSS将正方形图片显示为圆形图片布局
Oct 10 HTML / CSS
纯HTML5+CSS3制作图片旋转
Jan 12 HTML / CSS
CSS3中的Transition过度与Animation动画属性使用要点
May 20 HTML / CSS
css3学习系列之移动属性详解
Jul 04 HTML / CSS
CSS3 按钮边框动画的实现
Nov 12 HTML / CSS
canvas像素画板的实现代码
Nov 21 HTML / CSS
前端canvas动画如何转成mp4视频的方法
Jun 17 HTML / CSS
Javascript 高级手势使用介绍
Apr 21 HTML / CSS
HTML5基于flash实现播放RTMP协议视频的示例代码
Dec 04 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下载文件源代码(强制任意文件格式下载)
2014/05/09 PHP
CI框架装载器Loader.php源码分析
2014/11/04 PHP
thinkPHP查询方式小结
2016/01/09 PHP
php实现用户注册密码的crypt加密
2017/06/08 PHP
使用PHPStorm+XDebug搭建单步调试环境
2017/11/19 PHP
PHP使用ActiveMQ实例
2018/02/05 PHP
php实现数组重复数字统计实例
2018/09/30 PHP
javascript setTimeout()传递函数参数(包括传递对象参数)
2010/04/07 Javascript
window.event快达到全浏览器支持了,以后使用就方便了
2011/11/30 Javascript
JavaScript常用对象的方法和属性小结
2012/01/24 Javascript
Javascript基础教程之比较操作符
2015/01/18 Javascript
js淡入淡出焦点图幻灯片效果代码分享
2015/09/08 Javascript
js匿名函数作为函数参数详解
2016/06/01 Javascript
jQuery元素属性操作实例(设置、获取及删除元素属性)
2016/09/08 Javascript
json定义及jquery操作json的方法
2016/10/03 Javascript
ie下js不执行的几种可能
2017/02/28 Javascript
详解使用vue-admin-template的优化历程
2018/05/20 Javascript
clipboard在vue中的使用的方法示例
2018/10/19 Javascript
antd组件Upload实现自己上传的实现示例
2018/12/18 Javascript
JavaScript对象访问器Getter及Setter原理解析
2020/12/08 Javascript
python 字符串常用函数详解
2019/09/11 Python
Python笔记之观察者模式
2019/11/20 Python
python range实例用法分享
2020/02/06 Python
Python字符编码转码之GBK,UTF8互转
2020/02/09 Python
python用pip install时安装失败的一系列问题及解决方法
2020/02/24 Python
浅谈selenium如何应对网页内容需要鼠标滚动加载的问题
2020/03/14 Python
实例讲解Python 迭代器与生成器
2020/07/08 Python
详解Scrapy Redis入门实战
2020/11/18 Python
美国老牌主机服务商:iPage
2016/07/22 全球购物
韩国爱茉莉太平洋化妆品美国站:Amore Pacific US
2016/10/28 全球购物
廉洁自律承诺书
2014/03/27 职场文书
运动会演讲稿300字
2014/08/25 职场文书
竞聘演讲稿怎么写
2014/08/28 职场文书
《牧场之国》教学反思
2016/02/22 职场文书
利用Python将list列表写入文件并读取的方法汇总
2022/03/25 Python
win10清理dns缓存
2022/04/19 数码科技