Я использую этот метод (найденный в переполнении стека) для выполнения события при очистке видео HMTL: Инициирование событий из видеопроигрывателя html5 с помощью JQuery
это работает отлично. Однако я не понимаю, как инициировать другое событие при прокрутке временной шкалы видео назад к предыдущему (более раннему) времени. Я хотел бы отключить событие и, возможно, добавить другое событие, когда пользователь достигает предыдущего исходного времени.
Я использую этот метод, чтобы «очистить» временную шкалу:
var windowwidth = $(window).width()-20;
var scrollpos = window.pageXOffset/200;
var targetscrollpos = scrollpos;
var accel = 0;
// ---- Values you can tweak: ----
var accelamount = 0.1; //How fast the video will try to catch up with the target position. 1 = instantaneous, 0 = do nothing.
// pause video on load
vid.pause();
window.onscroll = function(){
//Set the video position that we want to end up at:
targetscrollpos = window.pageXOffset/200;
};
setInterval(function(){
//Accelerate towards the target:
scrollpos += (targetscrollpos - scrollpos)*accelamount;
//update video playback
vid.currentTime = scrollpos;
vid.pause();
}, 60);
и этот код из предыдущего вопроса о переполнении стека для запуска событий
$(".boxB").animate({ marginLeft:'0px'},400);
$(".boxA").animate({ width:'620px'}, 400);
}
var runAtTime = function(handler, time) {
var wrapped = function() {
if(this.currentTime >= time) {
$(this).off('timeupdate', wrapped);
return handler.apply(this, arguments);
}
}
return wrapped;
};
$('#v0').on('timeupdate', runAtTime(myHandler, 3.5));
Рабочая версия существует здесь: http://www.mediaflash.ca/swipe_video_timeline/index.html< /а>
Функция будет работать, только если вы используете мышь с колесиком прокрутки и прокручиваете влево и вправо или проводите пальцем влево/вправо на устройстве iOS.