2017-08-07 9 views
1

私はonclickを取得しても、trueまたはfalseを返して変数に格納するとします。javascriptのifループでビデオを一時停止するにはtrue/false条件を使用するにはどうすればいいですか?

$('.box1').on('click', function(){ 
      boxClicked = true; 
      video1[0].play(); 
     }); 

後でコードで使用しています。 boxClicktrueまたはfalseあるとfalseあれば、それはビデオを一時停止する必要がある場合

$(video1).on('timeupdate', function() 
{ 
     var currentTime = Math.round(this.currentTime); 
     var durationNum = Math.round(this.duration); 
     var formattedCurrentTime = secondsToHms(currentTime); 
     var formattedDurationTime = secondsToHms(durationNum) 
     onTrackedVideoFram(formattedCurrentTime, formattedDurationTime) 

     if(currentTime == boxTime && boxClicked == true) { 
      video1[0].pause(); 
     }  
    }); 

}); 

boxTimeが言うの予め記憶値を持つ変数であり、10 だから、 10時秒の期間チェックは、必要があります。

私の唯一の問題は...そうしていないことです。

+1

2つの可能性:1)あなたはグローバルスコープに 'boxClicked'を宣言しましたので、それが利用できるようになりますその場合は、単にfalseではなく、あなたのif文でtrueするboxClickedをチェック両方の機能? 2) 'timeupdate'が頻繁に実行され、' currentTime'がある時点で確実に*正確に* 10になると確信していますか? (私はビデオフレームレートが現在の時刻が10より少し下から10を少し上回ることを意味するかもしれないと考えているので、正確な条件には決して一致しません) –

+0

あなたは時間の問題でビンゴです。クロームでは時には大丈夫だが、Firefoxでは特定のポイントで決して停止しない。 これをコード化することは私にとっては解決策ではありません。なぜならこれを修正する方法がわからないからです。 しかし、フレームストップのわずかな違いが目立たないようにビデオを作成できました。 – Logan

+0

あなたはそれがグローバルな問題であるかもしれないというのは正しいです。 私はそれをtrueからfalseに変更しました。liek @ ajc2000が示唆したように、それはうまくいった(それはすべきではありませんが) – Logan

答えて

0

boxClickedfalseの場合にのみ、ビデオを一時停止するとします。

if(currentTime == boxTime && boxClicked == false) { 
    video1[0].pause(); 
} 
+0

私はそれを行うことができません。 クリックするとboxclickがtrueに変更されました。 これを使用して、他のものをトリガーします。 – Logan

+0

何とかこれは働いた.. – Logan

関連する問題