У меня есть веб-страница с видеоэлементом, вложенным в видео-контейнер div class=, а также панель видео-контроля div class=, которую я использую для анимации JQuery. Я также использую setInterval для запроса текущего времени видеоэлемента и отражения этого в строке выполнения, содержащейся в панели управления видео.
JavaScript:
$(function(){
$(".video-container").each(function(){
player_init($(this))
})
})
function player_init(self)
{
setInterval(function(){
var video = self.find("video")[0]
self.find(".video-control-bar").find(".video-position").find("input").val(video.currentTime / video.duration)
self.find(".video-control-bar").find(".video-position").find("progress").val(video.currentTime / video.duration)
}, 500)
self.hover(function(){
self.find(".video-control-bar").stop().animate({bottom: "0px"}, 25)
}, function(){
self.find(".video-control-bar").stop().animate({bottom: "-39px"}, 350)
})
}
проблема? Ну, в Chrome, если я загружаю страницу, моя функция setInterval вызывается каждые 500 мс, как ожидалось, до тех пор, пока я не накрою плеер, вызвав анимацию панели управления. После этого никакие дополнительные вызовы не выполняются в моей функции setInterval.
HOWEVER, если я нажму обновить, перезагрузится страница, и я могу навести на нее все, что хочу, и все продолжает работать правильно. Но только если я загружу страницу с помощью обновления.
Это не происходит в Firefox. Я подозреваю, что это может быть ошибка в Chrome, так как она похожа на проблему, которую я представил здесь.
Я действительно понятия не имею, если это проблема с тем, как я делаю, проблема с JQuery или ошибка в Chrome. Мне действительно все равно, какая ошибка, я просто хочу, чтобы все работало.
Спасибо.