帮助中心
获取牛币
联系我们
关于我们
版权声明
素材牛首页
微博登录
QQ登录
微信扫码登录
注册
登录
新浪微博
QQ登陆
微信登录
热门搜索:
小程序
支付
Java
后台模板
上传
商城模板
jQuery
手机
Thinkphp
微信
Vue.js
首 页
网页特效
整站源码
PHP实例
网站模版
工具箱
常用代码
论坛
游戏源码
资源分享
当前位置:
首页
»
精选常用代码
» Html+js实现video修改进度条显示
Html+js实现video修改进度条显示
浏览:2068次
-
评论:1次
-
发布时间:2017-12-28
Html
Css
Js
HTML5_Video_Player
0
播放
全屏
.videoPlayer { border:1px solid #000; width:600px; } #video { margin-top:0px; } #videoControls { width:600px; margin-top:0px; } .show { opacity:1; } .hide { opacity:0; } #progressWrap { background-color:black; height:25px; cursor:pointer; } #playProgress { background-color:red; width:0px; height:25px; border-right:2px solid blue; } #showProgress { background-color:; font-weight:600; font-size:20px; line-height:25px; } #mainWidget { }#childWidget { margin:auto; }
(function(window, document) { //获取要操作的元素 var video = document.getElementById("video"); var videoControls = document.getElementById("videoControls"); var videoContainer = document.getElementById("videoContainer"); var controls = document.getElementById("video_controls"); var playBtn = document.getElementById("playBtn"); var fullScreenBtn = document.getElementById("fullScreenBtn"); var progressWrap = document.getElementById("progressWrap"); var playProgress = document.getElementById("playProgress"); var fullScreenFlag = false; var progressFlag; var videoPlayer = { init: function() { var that = this; video.removeAttribute("controls"); bindEvent(video, "loadeddata", videoPlayer.initControls); videoPlayer.operateControls(); }, initControls: function() { videoPlayer.showHideControls(); }, showHideControls: function() { bindEvent(video, "mouseover", showControls); bindEvent(videoControls, "mouseover", showControls); bindEvent(video, "mouseout", hideControls); bindEvent(videoControls, "mouseout", hideControls); }, operateControls: function() { bindEvent(playBtn, "click", play); bindEvent(video, "click", play); bindEvent(fullScreenBtn, "click", fullScreen); bindEvent(progressWrap, "mousedown", videoSeek); } } videoPlayer.init(); function bindEvent(ele, eventName, func) { if (window.addEventListener) { ele.addEventListener(eventName, func); } else { ele.attachEvent('on' + eventName, func); } } function showControls() { videoControls.style.opacity = 1; } function hideControls() { videoControls.style.opacity = 1; } function play() { if (video.paused || video.ended) { if (video.ended) { video.currentTime = 0; } video.play(); playBtn.innerHTML = "暂停"; progressFlag = setInterval(getProgress, 60); } else { video.pause(); playBtn.innerHTML = "播放"; clearInterval(progressFlag); } } function fullScreen() { if (fullScreenFlag) { videoContainer.webkitCancelFullScreen(); } else { videoContainer.webkitRequestFullscreen(); } } function getProgress() { var percent = video.currentTime / video.duration; playProgress.style.width = percent * (progressWrap.offsetWidth) - 2 + "px"; showProgress.innerHTML = (percent * 100).toFixed(1) + "%"; } function videoSeek(e) { if (video.paused || video.ended) { play(); enhanceVideoSeek(e); } else { enhanceVideoSeek(e); } } function enhanceVideoSeek(e) { clearInterval(progressFlag); var length = e.pageX - progressWrap.offsetLeft; var percent = length / progressWrap.offsetWidth; playProgress.style.width = percent * (progressWrap.offsetWidth) - 2 + "px"; video.currentTime = percent * video.duration; progressFlag = setInterval(getProgress, 60); } }(this, document))
↑上面代码改变,会自动显示代码结果
jQuery调用版本:
1.11.3
<!doctype html><html><head><meta charset="utf-8"><title>Html+js实现video修改进度条显示-www.sucainiu.com</title><script src="https://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script><style>
</style></head><body>
<script>
</script>
</body></html>
立即下载
收藏
积分说明:注册即送10牛币,每日签到可获得5牛币,成为VIP会员可永久免牛币下载!
充值积分
充值会员
更多说明»
代码描述:Html+js实现video修改进度条显示
jQuery上传头像效果
自适应INPUT标题浮动效果
讨论这个常用代码(1)
回答他人问题或分享心得会奖励牛币
Lv10 CTO
华***n
2017年12月29日
学习了感谢分享
回复
文明上网,理性发言! 😉 阿里云幸运券,
戳我领取
发表评论
提交回复
我的积分余额:
0
已下载次数:
2068
所需牛币:
5
开始下载
牛币获取:
签到、评论、充值
» 在线充值
(10牛币=1元)
成为VIP可永久免积分下载全部常用代码
» 查看详情
VIP
客服
签到
充值