我为我的视频制作了字幕系统。现在我正处于副标题的阶段 - 一个带有文本的框应该显示在特定的第二个和特定的位置,然后在x秒后淡出。然而,我仍然坚持这一点:如果我仍然显示字幕时仍然显示视频 - 我希望它仍然显示但是它用完了x秒并且仍然隐藏。
问题:如果视频暂停,如何在不考虑延迟功能的情况下仍然显示字幕框?当显示字幕时显示后显示视频 - 计算剩余秒数(x_total - already_shown = left_seconds)?
JQUERY :(最后两行)
$('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'); }
})
}
});
正如您所看到的 - 我已经尝试在播放视频时添加特定类并向该类添加延迟功能,然后如果视频被暂停 - 删除该类。因为我通过删除类我将中止该延迟功能。但是那没用。 :( 所以,最后一个问题:如果视频暂停,如何中止/删除/睡眠延迟功能? (然后当视频再次播放时 - 设置新的延迟功能然后隐藏字幕) 各位先生,谢谢你的帮助。
答案 0 :(得分:0)
这应该有效:
$('.sub').stop(true)