0

わかりました私はvimeo APIを使用しています。これは、ビデオの再生率を含むいくつかのデータを関数に提供します。これを使用して、ビデオがいつ終了するかを確認し、その後「ライトをオンに戻します」。これが私のコードです:

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

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

}

#bottomtag はデバッグのためだけのものですが、進行状況を正しく示し、最終的に 100% になり、そこにとどまります。そのため、アニメーションが発生しない理由がわかりません。私は本当に密集していますか?意味的には「if」ではなく「when」があるべきだと思いますが、それは存在しません。

=========編集=========

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 に答える