博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HTML5实战与剖析之媒体元素(6、视频实例)
阅读量:7077 次
发布时间:2019-06-28

本文共 3514 字,大约阅读时间需要 11 分钟。

  HTML5中的视频标签和及其模仿视频播放器的效果在一些手机端应用比較多。由于手机端基本上废除了flash的独断。让HTML5当家做主人,所以对视频支持的比較好。

所以今天专门为大家奉上HTML5视频标签模拟视频播放器的小样例,让大家更好的理解HTML5和有效的应用在项目中。

  HTML代码

  CSS代码

#div2{ width:300px; height:30px; background:#666666; position:relative;}#div3{ width:30px; height:30px; background:red; position:absolute; left:0; top:0;}#div4{ width:300px; height:20px; background:#666666; position:relative; top:10px;}#div5{ width:20px; height:20px; background:yellow; position:absolute; right:0; top:0;}

  JavaScript代码

window.onload = function(){	var oV = document.getElementById('v1');	var oDiv = document.getElementById('div1');	var aInput = oDiv.getElementsByTagName('input');		var oDiv2 = document.getElementById('div2');	var oDiv3 = document.getElementById('div3');	var oDiv4 = document.getElementById('div4');	var oDiv5 = document.getElementById('div5');		var timer = null;		//播放暂停	aInput[0].onclick = function(){			if(oV.paused){			this.value = '暂停';			oV.play();			toShow();			timer = setInterval(toShow,1000);		}		else{			this.value = '播放';			oV.pause();			clearInterval(timer);		}			};		aInput[2].value = timeChange(oV.duration);		function timeChange(iAll){			iAll = Math.floor(iAll);			var hours = toZero(parseInt(iAll/3600));		var mintus = toZero(parseInt(iAll%3600/60));		var sends = toZero(parseInt(iAll%60));				return hours + ":" + mintus + ":" + sends;		}		function toZero(num){		if(num<10){			return '0' + num;		}		else{			return '' + num;		}	}		function toShow(){		aInput[1].value = timeChange(oV.currentTime);				var scale = oV.currentTime/oV.duration;				oDiv3.style.left = scale * (oDiv2.offsetWidth - oDiv3.offsetWidth) + 'px';			}		//静音	aInput[3].onclick = function(){		if(oV.muted){			this.value = '静音';			oV.muted = false;			oDiv5.style.left = oV.volume*(oDiv4.offsetWidth - oDiv5.offsetWidth) + 'px';		}		else{			this.value = '消除静音';			oV.muted = true;			oDiv5.style.left = 0;		}	};		var disX = 0;		//进度调整	oDiv3.onmousedown = function(ev){		var ev = ev || window.event;		disX = ev.clientX - oDiv3.offsetLeft;				document.onmousemove = function(ev){			var ev = ev || window.event;						var L = ev.clientX - disX;						if(L<0){				L = 0;			}			else if(L>oDiv2.offsetWidth - oDiv3.offsetWidth){				L = oDiv2.offsetWidth - oDiv3.offsetWidth;			}						oDiv3.style.left = L + 'px';						var scale = L/(oDiv2.offsetWidth - oDiv3.offsetWidth);						oV.currentTime = scale * oV.duration;						toShow();					};		document.onmouseup = function(){			aInput[0].value = '暂停';			oV.play();			toShow();			timer = setInterval(toShow,1000);			document.onmousemove = null;			document.onmouseup = null;		};		return false;	};		var disX2 = 0;		//声音	oDiv5.onmousedown = function(ev){		var ev = ev || window.event;		disX2 = ev.clientX - oDiv5.offsetLeft;				document.onmousemove = function(ev){			var ev = ev || window.event;						var L = ev.clientX - disX2;						if(L<0){				L = 0;			}			else if(L>oDiv4.offsetWidth - oDiv5.offsetWidth){				L = oDiv4.offsetWidth - oDiv5.offsetWidth;			}						oDiv5.style.left = L + 'px';						var scale = L/(oDiv4.offsetWidth - oDiv5.offsetWidth);							oV.volume = scale;					};		document.onmouseup = function(){			document.onmousemove = null;			document.onmouseup = null;		};		return false;	};		//全屏	aInput[4].onclick = function(){			oV.webkitRequestFullScreen();		};	};

  HTML5实战与剖析之媒体元素(5、视频实例)就为大家介绍到这里,模拟视频播放器的小样例差点儿把经常使用的小功能。

这个小样例只能在支持HTML5的视频标签的浏览器中播放。很多其它有关HTML5的相关知识尽在梦龙小站的HTML5实战与剖析部分,感谢大家的支持。

转载地址:http://occml.baihongyu.com/

你可能感兴趣的文章
(四)Thread.join的作用和原理
查看>>
Watercolor Logos
查看>>
网络安全与机器学习(一):网络安全中的机器学习算法
查看>>
Egret场景切换管理类切换和单例使用方法
查看>>
linux 用户和用户组命令
查看>>
CSS3田字格列表的样式编写
查看>>
Docker+UPX 构建更小的镜像
查看>>
Centos下安装Python3.6和Python2共存
查看>>
深入理解ES6笔记(二)字符串和正则表达
查看>>
一个小众的php方法:hypot
查看>>
python操作redis(二)
查看>>
WordPress 主题开发:从入门到精通(必读)
查看>>
Vue入坑记
查看>>
SpringBoot使用AOP+注解实现简单的权限验证
查看>>
Android 8.0 系统和API的变化
查看>>
Git 多人协作开发流程
查看>>
js 时间对象的常规操作
查看>>
Centos 7 Yum方式安装Mongdb 3.4
查看>>
遇见大数据可视化 : 【云图】让数据可见
查看>>
Mac Docker 创建第一个Django 应用,Part 1
查看>>