私はonclickを取得しても、trueまたはfalseを返して変数に格納するとします。javascriptのifループでビデオを一時停止するにはtrue/false条件を使用するにはどうすればいいですか?
$('.box1').on('click', function(){
boxClicked = true;
video1[0].play();
});
後でコードで使用しています。 boxClick
がtrue
または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時秒の期間チェックは、必要があります。
私の唯一の問題は...そうしていないことです。
2つの可能性:1)あなたはグローバルスコープに 'boxClicked'を宣言しましたので、それが利用できるようになりますその場合は、単に
false
ではなく、あなたのif文でtrue
するboxClicked
をチェック両方の機能? 2) 'timeupdate'が頻繁に実行され、' currentTime'がある時点で確実に*正確に* 10になると確信していますか? (私はビデオフレームレートが現在の時刻が10より少し下から10を少し上回ることを意味するかもしれないと考えているので、正確な条件には決して一致しません) –あなたは時間の問題でビンゴです。クロームでは時には大丈夫だが、Firefoxでは特定のポイントで決して停止しない。 これをコード化することは私にとっては解決策ではありません。なぜならこれを修正する方法がわからないからです。 しかし、フレームストップのわずかな違いが目立たないようにビデオを作成できました。 – Logan
あなたはそれがグローバルな問題であるかもしれないというのは正しいです。 私はそれをtrueからfalseに変更しました。liek @ ajc2000が示唆したように、それはうまくいった(それはすべきではありませんが) – Logan