gpt4 book ai didi

javascript - 如何通过鼠标滚动控制html视频?

转载 作者:行者123 更新时间:2023-11-30 17:27:27 24 4
gpt4 key购买 nike

我必须在我的 HTML 页面上实现视频标签。我在视频标签中包含了一个视频,但是如果我向上滚动视频应该向前滚动多少,如果我向下滚动视频应该向后并且它应该play.我试过这样的。

 <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”事件。 “滚动”事件仅在视口(viewport)实际移动时触发。

这是一个 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;
}

关于javascript - 如何通过鼠标滚动控制html视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23931746/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com