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绘制不规则图形的一些方法示例
Nov 07 HTML / CSS
CSS3 2D模拟实现摩天轮旋转效果
Nov 16 HTML / CSS
html5 乒乓球(碰撞检测)实例二
Jul 25 HTML / CSS
HTML5的新特性(1)
Mar 03 HTML / CSS
canvas探照灯效果的示例代码
Nov 30 HTML / CSS
解决HTML5中的audio在手机端和微信端的不能自动播放问题
Nov 04 HTML / CSS
五分钟学会HTML5的WebSocket协议
Nov 22 HTML / CSS
使用html2canvas实现将html内容写入到canvas中生成图片
Jan 03 HTML / CSS
Html5页面点击遮罩层背景关闭遮罩层
Nov 30 HTML / CSS
HTML速写之Emmet语法规则的实现
Apr 07 HTML / CSS
CSS 制作波浪效果的思路
May 18 HTML / CSS
六个好看实用的 HTML + CSS 后台登录入口页面
Apr 28 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下使用无限生命期Session的方法
2007/03/16 PHP
PHP中的integer类型使用分析
2010/07/27 PHP
PHP简单获取随机数的常用方法小结
2017/06/07 PHP
PHP实现单文件、多个单文件、多文件上传函数的封装示例
2019/09/02 PHP
JavaScript中的console.log()函数详细介绍
2014/12/29 Javascript
jQuery拖拽插件gridster使用指南
2015/04/21 Javascript
CSS+JS实现点击文字弹出定时自动关闭DIV层菜单的方法
2015/05/12 Javascript
Node.js操作mysql数据库增删改查
2016/03/30 Javascript
jQuery插件ajaxfileupload.js实现上传文件
2020/10/23 Javascript
Bootstrap按钮功能之查询按钮和重置按钮
2016/10/26 Javascript
nodejs连接mongodb数据库实现增删改查
2016/12/01 NodeJs
微信小程序 跳转传参数与传对象详解及实例代码
2017/03/14 Javascript
使用3D引擎threeJS实现星空粒子移动效果
2020/09/13 Javascript
解决Js先触发失去焦点事件再执行点击事件的问题
2018/08/30 Javascript
详解Vue路由自动注入实践
2019/04/17 Javascript
vue+导航锚点联动-滚动监听和点击平滑滚动跳转实例
2019/11/13 Javascript
详解vite+ts快速搭建vue3项目以及介绍相关特性
2021/02/25 Vue.js
用Python登录Gmail并发送Gmail邮件的教程
2015/04/17 Python
Python安装第三方库的3种方法
2015/06/21 Python
python实现的用于搜索文件并进行内容替换的类实例
2015/06/28 Python
Python字符串匹配算法KMP实例
2015/07/18 Python
json跨域调用python的方法详解
2017/01/11 Python
python抓取网页中链接的静态图片
2018/01/29 Python
完美解决安装完tensorflow后pip无法使用的问题
2018/06/11 Python
python是怎么被发明的
2020/06/15 Python
python statsmodel的使用
2020/12/21 Python
采用冷却技术的超自然舒适度:GhostBed床垫
2018/09/18 全球购物
娇韵诗香港官网:Clarins香港
2020/08/13 全球购物
交通安全演讲稿
2014/01/07 职场文书
环境保护标语
2014/06/20 职场文书
房产销售独家委托书范本
2014/10/01 职场文书
一般基层干部群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
瘦西湖导游词
2015/02/03 职场文书
学校元旦晚会开场白
2015/05/29 职场文书
pytorch 中nn.Dropout的使用说明
2021/05/20 Python
MySQL中IO问题的深入分析与优化
2022/04/02 MySQL