currentTime通过滚动更新

时间:2014-05-05 22:26:23

标签: javascript jquery video

我有一个视频。当用户向下滚动时,我希望视频能够向前发展,反之亦然。我让视频与卷轴一起工作,但我一直打的墙是随之而来的。

随着视频的底部出现,我想进步并让它完成浏览器的高度。唯一的问题是,有时这些视频位于页面底部。

我将如何编写能够正确计算视频当前时间的评估?以下是尝试的一个版本。

var scrollTop = $(window).scrollTop();

videos[i].currentTime = ((videos[i].duration/($(window).height()+$(videos[i]).height()))*scrollTop);

1 个答案:

答案 0 :(得分:0)

保持简单。一个示例页面会很棒但是,这里有一小部分未经测试的代码,如果您正在做我认为您正在做的事情,那么它应该可以正常工作。

videos[i].currentTime = (window.scrollTop-findPos(videos[i])[1])/(videos[i].duration/2);

其中findPos是一个来自QuirksMode的函数,它可以在页面上找到视频的位置。

function findPos(obj) {
    var curleft = curtop = 0;
    if (obj.offsetParent) {
    do {
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
        } while (obj = obj.offsetParent);
    return [curleft,curtop];
}
}