如何控制html视频的鼠标滚动
How to control html videos by mouse scroll?
我必须在我的HTML页面上实现视频标签。我在视频标签中包含了一个视频,但是如果我向上滚动,视频应该向前滚动多少,如果我向下滚动,视频应该向后播放。我已经试过了。
<script type="text/javascript">
function updateVideo() {
var video = $('#one').get(0);
var videoLength = video.duration;
var scrollPosition = $(document).scrollTop();
video.currentTime = (scrollPosition / ($(document).height() - $(window).height())) * videoLength;//(scrollPosition / SCROLL_SCRUB_SPEED) % videoLength;
}
$(window).scroll(function(e) {
if(videoReady && continueUpdatingVideo) { updateVideo(); }
});
</script>
和HTML是
<div class="container">
<video id="one" width="480" height="600" autoplay loop controls class="hello">
<source type="video/mp4" src="https://d3mlfyygrfdi2i.cloudfront.net/fd77/team_04022013_b_v4.mp4"></source>
<source type="video/webm" src="https://d3mlfyygrfdi2i.cloudfront.net/c943/team_04022013_b_v4.webm" ></source>
You need an HTML5 capable browser to view this video.
</video>
</div>
您可能希望使用"mousewheel"事件而不是"scroll"事件。"scroll"事件只在视口实际移动时触发。
这里有一个jsFiddle来查看滚动部分的操作http://jsfiddle.net/33m33/.
我认为这个脚本应该做你需要的,尽管你可能需要做一些修改:
var video = $('#one').get(0);
var increments = 2; //steps two seconds for each scroll event
var videoReady = false; //set to true when video loads
var continueUpdatingVideo = false;
$(document).ready(function(){
$('#one').bind('DOMMouseScroll mousewheel', function(e){
e.preventDefault();
if(videoReady && continueUpdatingVideo) {
var delta = Math.max(-1, Math.min(1, (e.originalEvent.wheelDelta || -e.originalEvent.detail))); //either +1 or -1
updateVideo(delta * increments);
}
return false;
});
});
function updateVideo(delta) {
var videoLength = video.duration;
var videoPosition = (video.currentTime + delta > videoLength) ? videoLength : ((video.currentTime + delta < 0) ? 0 : video.currentTime + delta);
video.currentTime = videoPosition;
}
相关文章:
- EaseJS拖放;放下(动画CC)电影剪辑的鼠标坐标
- 视频HTML没有'无法在Internet Explorer 11上工作
- 播放当前视频时如何停止其他视频?JavaScript
- 使用Facebook live API创建实时视频对象时的隐私设置
- Javascript-在视频中跟踪鼠标位置
- 鼠标悬停时播放视频/鼠标悬停时显示缩略图
- 在YouTube视频上单击鼠标静音/取消静音
- 在视频元素上获取准确的鼠标坐标
- 如何通过鼠标悬停播放/暂停多个视频
- 在Video.js中,当鼠标悬停在视频上时,哪里可以更改大播放按钮的颜色
- 移动鼠标时更改视频的时间
- 如何为Google+ Hangouts视频源注册鼠标点击事件处理程序?
- 视频播放鼠标移动,不完全工作
- 按鼠标移动的方向播放视频
- 当鼠标在x轴上移动时,使用jQuery播放视频
- 这可能吗?当鼠标悬停在你管视频然后播放视频,当鼠标悬停然后停止视频.它看起来像facebook
- 如何控制html视频的鼠标滚动
- 如何在鼠标上显示视频持续时间
- 如何开始一个youtube视频从鼠标上的图像点击
- 鼠标滚轮滚动HTML5视频jQuery