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 06 HTML / CSS
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
Apr 03 HTML / CSS
纯css3实现的动画按钮的实例教程
Nov 17 HTML / CSS
基于CSS3实现立方体自转效果
Mar 01 HTML / CSS
详解CSS3的box-shadow属性制作边框阴影效果的方法
May 10 HTML / CSS
CSS实现半透明边框与多重边框的场景分析
Nov 13 HTML / CSS
canvas实现有递增动画的环形进度条的实现方法
Jul 10 HTML / CSS
利用canvas实现图片下载功能来实现浏览器兼容问题
May 31 HTML / CSS
HTML5 History API 实现无刷新跳转
Jan 11 HTML / CSS
5分钟实现Canvas鼠标跟随动画背景
Nov 18 HTML / CSS
CSS3 制作的彩虹按钮样式
Apr 11 HTML / CSS
css实现左上角飘带效果的完整代码
Mar 18 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
人族 Terran 基本策略
2020/03/14 星际争霸
PHP里的中文变量说明
2011/07/23 PHP
php结合web uploader插件实现分片上传文件
2016/05/10 PHP
PHP记录和读取JSON格式日志文件
2016/07/07 PHP
php和html的区别点详细总结
2019/09/24 PHP
JS加ASP二级域名转向的代码
2007/05/17 Javascript
简单的js图片轮换代码(js图片轮播)
2014/05/06 Javascript
jQuery+Ajax实现无刷新分页
2015/10/30 Javascript
js传值后台中文出现乱码的解决方法
2016/06/30 Javascript
jQuery EasyUI提交表单验证
2016/07/19 Javascript
深入理解vue中的$set
2017/06/01 Javascript
Vue2路由动画效果的实现代码
2017/07/10 Javascript
JavaScript实现的鼠标跟随特效示例【2则实例】
2018/12/22 Javascript
Vue为什么要谨慎使用$attrs与$listeners
2020/08/27 Javascript
[01:12:08]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.24
2019/09/10 DOTA
python excel使用xlutils类库实现追加写功能的方法
2018/05/02 Python
解决pandas read_csv 读取中文列标题文件报错的问题
2018/06/15 Python
Pandas:Series和DataFrame删除指定轴上数据的方法
2018/11/10 Python
解决Python中list里的中文输出到html模板里的问题
2018/12/17 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
2019/02/01 Python
python安装pil库方法及代码
2019/06/25 Python
python3 webp转gif格式的实现示例
2019/12/10 Python
python数据库操作mysql:pymysql、sqlalchemy常见用法详解
2020/03/30 Python
英国休闲奢华的缩影:Crew Clothing
2019/05/05 全球购物
法拉利英国精品店:Ferraris Boutique UK
2019/07/20 全球购物
英国曼彻斯特宠物用品品牌:Bunty Pet Products
2019/07/27 全球购物
英国网上超市:Ocado
2020/03/05 全球购物
C#笔试题集合
2013/06/21 面试题
送货司机岗位职责
2013/12/11 职场文书
幼儿园大班开学教师寄语
2014/04/03 职场文书
2014年仓管员工作总结
2014/11/18 职场文书
工作收入证明范本
2015/06/12 职场文书
那些美到让人窒息的诗句,值得你收藏!
2019/08/20 职场文书
古诗文之爱国名句(77句)
2019/09/24 职场文书
导游词之镇江西津古渡
2019/11/06 职场文书
Python可变集合和不可变集合的构造方法大全
2021/12/06 Python