2017-03-22 1 views
0

私のビデオ用に字幕システムを作っています。今私は、字幕がある段階にあります。テキスト付きのボックスは、瞬間的な秒と派生的な位置に表示され、その後x秒後に消えます。しかし、私はこれに固執しています。字幕がまだ表示されているときにビデオをぼかしても、それは表示されたままにしておきますが、それはx秒後に実行され、とにかく非表示になります。中止|ビデオがパウチングされている場合は、delay()関数を削除してください(遅延が終了していなくても、もはや遅延しません)。

質問:ビデオをポーズした場合、遅延機能に関係なく、字幕ボックスを表示したままにするにはどうすればよいですか?サブタイトルが表示されている間にビデオがポーズされた後に再生されるとき - 残りの秒を計算します(x_total - already_shown = left_seconds)?

jQueryの:(2最後の行)

$('video').bind('play',function() { 
    $('.play_btn').hide(); 
    if($('.word') && $('.pos') && $('.time') && $('.sec')){ 
    $pos = $('.pos').val().split(','); 
    var seconds = $('.sec').val(); 
    $('video').on("timeupdate", function(){ 
     console.log(parseInt(this.currentTime)); 
     if(parseInt(this.currentTime) == $('.time').val()){console.log(seconds); 
      $('.video_cover').append("<div class='sub' style='background:white;z-index:2147483647 ;padding:5px;top:"+$pos[0]+"%;left:"+$pos[1]+"%;position:absolute;'>"+$('.word').val()+"</div>");  
     } 
     if (this.paused == false) { $('.sub').addClass('sub_spesial_class');$(".sub_spesial_class").delay(seconds*1000).hide(100);console.log('play'); 
      }else{console.log('pauzed');$('.sub').removeClass('sub_spesial_class'); } 
    }) 
} 
}); 

あなたが見ることができるように - 私はビデオは、ビデオがpauzedされている場合、演奏とそのクラスに遅延機能を追加したときspesificクラスを追加しようとした - そのクラスを削除します。そして私がクラスを取り除くことによって、私はその遅延機能を中止します。しかし、それは動作しませんでした。 :( 最終的な質問:ビデオがパウジングされた場合、その遅延機能を中断/削除/スリープさせるにはどうしたらいいですか?(ビデオが再び再生されたときに新しい遅延機能を設定してからサブタイトルを隠す) 。、みんな

答えて

0

これは動作するはずです:

$('.sub').stop(true) 
+0

あなたは仲間ありがとうそれは働きました! – Aneyeball

関連する問題