当前第2页 返回上一页
拖拽代码思路
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | var dragDis = 0
var processWidth = xxx
$( 'body' ).mousedown( function (e) {
startX = e.clientX
dragDis = startX - leftInit
dragTarget.css({
left: dragDis
})
dragProcess.css({
width: dragDis
})
videoSource.pause()
}).mousemove( function (e) {
moveX = e.clientX
disX = moveX - startX
var left = dragDis + disX
if (left > processWidth) {
left = processWidth
} else if (left < 0) {
left = 0
}
dragTarget.css({
left: left
})
dragProcess.css({
width: left
})
}).mouseup( function (e) {
videoSource.play()
videoSource.currentTime = $( '蓝色拖拽条' ).width() / processWidth * duration
})
|
同理音量的控制与其上行为基本一致,故在源码中作者将音量与进度部分通过不同元素进行判断是进行进度还是音量的拖拽控制。
通过查询视频流状态控制播放前的加载动画
1 2 3 4 5 6 7 8 9 10 11 12 | function ifState() {
var state = videoSource.readyState
if (state === 4) {
videoPlayer()
} else {
$( '.play-sym-wrapper' ).remove()
$( 'body' ).append( '<p class="play-sym-wrapper"><img class="play-sym" src="./images/loading.gif"></p>' )
setTimeout(ifState, 10)
}
}
setTimeout(ifState, 10)
|
核心的控制部分已经说完了,有兴趣的同学可以去源码的html中点击播放,其中被迫有很多零碎的需求,比如点击暂停,保存音量等等。整个视频播放器的基础功能实现的还算完善。
以上就是利用html5自定义实现播放器代码分享的详细内容,更多文章请关注木庄网络博客!
返回前面的内容
相关阅读 >>
HTML5 实现如何将两个矩形相互叠加
9个经典华丽的HTML5图表应用
如何使用HTML5 canvas实现图像的马赛克
什么是html语义化?html语义化的好处(总结)
快速开发基于HTML5网络拓扑图应用的详解(图文)
HTML5 嵌入钉钉教程
HTML5的学习路线分析
HTML5使用canvas压缩图片的示例代码
HTML5中返回当前音频/视频的url的属性currentsrc
HTML5前端是什么?
更多相关阅读请进入《HTML5》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » 利用html5自定义实现播放器代码分享