Ste*_*eve 7 jquery html5-video
我在这个jsfiddle中有一个HTML5视频播放器 - http://jsfiddle.net/6B7w7/工作正常.当您单击"Video1 - BranFerren"行时,视频会加载并播放,并且控件可以正常工作:
<div id="video1" class="video_link">Video 1 - BranFerren   <b>6:15</b></div>
<div id="videoPlayer_wrapper">
<video id="videoPlayer" width="600" height="340" controls >
</video>
</div>
Run Code Online (Sandbox Code Playgroud)
但我希望能够在播放时将播放器拖动到屏幕的不同部分.所以我尝试在JavaScript的第3行和第4行中制作视频播放器本身,#videoPlayer或videoPlayer包装器div,#videoPlayer_wrapper,draggable.
3 //$('#videoPlayer_wrapper').draggable();
4 //$('#videoPlayer').draggable();
Run Code Online (Sandbox Code Playgroud)
取消注释这些行之一会使视频播放器可以拖动,但我无法再在视频控件上设置位置或音频滑块.
有谁知道我如何使视频可拖动,仍然能够控制播放位置和音量?
谢谢
小智 11
添加两个额外的事件检查,一个用于mousedown,一个用于mouseup.
在mousedown检查y坐标相对于视频.如果在控制部分禁用draggable,如果不允许.
在mouseup处理程序中始终启用draggable,以便元素可拖动,直到下一次检查鼠标位置.
这样,点击事件就不会传递给浏览器的拖动处理.
$('#videoPlayer').on('mousedown', function (e) {
var wrapper = $('#videoPlayer_wrapper'), // calc relative mouse pos
rect = wrapper[0].getBoundingClientRect(),
y = e.clientY - rect.top;
if (y > $('#videoPlayer')[0].height - 40) { // if in ctrl zone disable drag
wrapper.draggable('disable');
}
});
$('#videoPlayer').on('mouseup', function (e) {
$('#videoPlayer_wrapper').draggable('enable'); // always enable
});
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
4004 次 |
| 最近记录: |