0

好的,我正在使用 vimeo api,它为我的函数提供了一些包含我的视频播放百分比的数据。我想用它来查找视频何时结束,然后“重新打开灯”。这是我的代码:

    function onplayProgress(data, id) {
$('#bottomtag').text(data.percent*100 + '% played');

    if ( data.percent == '1') {
$('body').animate({ backgroundColor: 'gray' }, 3000);
    }

}

#bottomtag 只是为了调试,但它正确地显示了进度并最终达到 100% 并保持在那里。所以我不明白为什么我的动画没有发生。我真的很密集吗?我觉得在语义上应该有一个“何时”而不是“如果”,但那不存在。

=========编辑=========

正如 Zeta 所指出的,我可以使用一个 Finish 事件。但是,我希望我的“灯”在 99% 的播放时亮起,我也想知道为什么我的代码不起作用。我试过了~

if ( data.percent == '0.990')

〜它仍然无法正常工作。关于此函数的调用,它与 Vimeo api 挂钩,如下所示:

player.addEvent('playProgress', onplayProgress);

4

2 回答 2

1

API提供了一个事件finish。使用它来检查您的视频是否已完成播放。

编辑:99%后如何点亮灯?

这有点棘手,但是,仍然很容易实现:

function onplayProgress(data, id) {
    $('#bottomtag').text(data.percent*100 + '% played');
    if ( data.percent >= 0.990 && $('body').data("has-been-animated") !== true) {
        $('body').animate({ backgroundColor: 'gray' }, 3000);
        $('body').data("has-been-animated",true);
    }
}
于 2012-08-03T11:59:17.740 回答
0

如果data.percent = '1.00'(作为字符串)的值,那么您的 if 将失败,因为'1' != '1.00'

于 2012-08-03T12:07:53.913 回答