js事件for when语句在函数内变为true

时间:2012-08-03 11:54:46

标签: javascript jquery vimeo

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

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

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

}

#bottomtag只是为了调试,但它正确地显示了进度并最终达到100%并保持不变。所以我无法理解为什么我的动画没有发生。我真的很密集吗?我觉得在语义上应该有'when'而不是'if'但是不存在。

========= EDIT =========

正如Zeta所指出的那样,我可以使用一个Finish事件。但是我希望我的“灯光”达到99%,并且我也想知道为什么我的代码不起作用。我试过〜

if ( data.percent == '0.990')

〜它仍然无法正常工作。关于调用这个函数,它与Vimeo api挂钩:

player.addEvent('playProgress', onplayProgress);

2 个答案:

答案 0 :(得分: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);
    }
}

答案 1 :(得分:0)

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