Javascript 如何使用jQuery为HTML5视频播放器制作动画以响应触发事件?

Javascript 如何使用jQuery为HTML5视频播放器制作动画以响应触发事件?,javascript,jquery,html5-video,Javascript,Jquery,Html5 Video,所以,我在我的网站上使用Jilion的Sublime。我想知道,当某些事件通过播放器触发时,是否有一种方法可以使用jQuery为我的视频播放器设置动画 例如,当按下播放按钮时,视频播放器将移到屏幕中央 我在js中对玩家进行了挖掘,它似乎在使用“play”、“pause”、“finish”和“end”来触发玩家所做的事情。我想知道的是,我是否可以使用与某些jQuery相同的技术,这些jQuery会说,在点击“播放”时执行此操作: 我知道这是一种黑客工作,谁能告诉我怎么做这样的事情 以下是播放功能的

所以,我在我的网站上使用Jilion的Sublime。我想知道,当某些事件通过播放器触发时,是否有一种方法可以使用jQuery为我的视频播放器设置动画

例如,当按下播放按钮时,视频播放器将移到屏幕中央

我在js中对玩家进行了挖掘,它似乎在使用“play”、“pause”、“finish”和“end”来触发玩家所做的事情。我想知道的是,我是否可以使用与某些jQuery相同的技术,这些jQuery会说,在点击“播放”时执行此操作:

我知道这是一种黑客工作,谁能告诉我怎么做这样的事情

以下是播放功能的示例:

o.play=function(a){if(a||this.ga==Dc)this.Z=0,this.coords=this.ec;else
if(this.Ga())return l;Ic(this);this.startTime=a=oa();-1==this.ga&&(this.startTime-
=this.duration*this.Z);this.ue=this.startTime+this.duration;this.rd=this.startTime;
this.Z||this.vd();this.la("play");-1==this.ga&&this.la("resume");this.ga=1;
var b=ia(this);b in Gc||(Gc[b]=this);Jc();Lc(this,a);return j};
提前谢谢

更新:好的,这就是我目前所得到的,似乎有效

var v = document.getElementsByTagName("video")[0];
v.addEventListener("playing", function() { 
$('#video').animate({left: '-90'}, "fast");
},function(){
$('#video').animate({left: '-346'}, "fast");
});

HTML5视频具有它所能发出的信息,如播放、暂停、结束等。您可以使用jQuery绑定到这些事件,并从中执行任何您想要的操作。

HTML5视频具有它所发出的功能,例如播放、暂停、完成和其他一些功能。您可以使用jQuery绑定到这些事件,并从中执行任何您想执行的操作。

您可以立即使用自定义事件触发该行为

例如:

$('body').bind('videoPlay', function() {
   // fancy animation stuff here..
   alert('video started playing');
});
在o.play函数中,您可以添加如下内容:

$('body').trigger('videoPlay');
var oldplay = o.play;
o.play = function() {
  $('body').trigger('videoPlay');
  return oldplay.call();
}
当然,也就是说,如果您可以访问javascript并可以在正确的位置修改它

===

另一个选项是使用您自己的方法覆盖o.play,然后调用原始o.play。。但是,我不知道这是否有效,因为您的示例o.play()方法似乎同时处理pause()和play()?大概是这样的:

$('body').trigger('videoPlay');
var oldplay = o.play;
o.play = function() {
  $('body').trigger('videoPlay');
  return oldplay.call();
}

在任何情况下,您都可以绑定到自定义事件并对其作出反应,只要您知道需要在何处“触发”事件。

即时您可以使用自定义事件触发行为

例如:

$('body').bind('videoPlay', function() {
   // fancy animation stuff here..
   alert('video started playing');
});
在o.play函数中,您可以添加如下内容:

$('body').trigger('videoPlay');
var oldplay = o.play;
o.play = function() {
  $('body').trigger('videoPlay');
  return oldplay.call();
}
当然,也就是说,如果您可以访问javascript并可以在正确的位置修改它

===

另一个选项是使用您自己的方法覆盖o.play,然后调用原始o.play。。但是,我不知道这是否有效,因为您的示例o.play()方法似乎同时处理pause()和play()?大概是这样的:

$('body').trigger('videoPlay');
var oldplay = o.play;
o.play = function() {
  $('body').trigger('videoPlay');
  return oldplay.call();
}

在任何情况下,只要您知道需要在哪里“触发”事件,就可以绑定到自定义事件并对其作出反应。

尽可能利用本机事件+1该HTML5播放器是否使用相同的媒体事件?如果是这样,我将如何将它们绑定到jQuery的.on()?对不起,我还在努力学习这一切。好的,我已经设法让它工作了。我已经更新了我原来的帖子,我做得对吗。当再次完成动画制作时,我如何告诉它。我假设我使用的是“结束”媒体事件?因此,当我上面的代码工作时,它感觉臃肿。幻灯片动画也相当紧张。有什么方法可以改进这一点吗?尽可能利用本机事件+1该HTML5播放器是否使用相同的媒体事件?如果是这样,我将如何将它们绑定到jQuery的.on()?对不起,我还在努力学习这一切。好的,我已经设法让它工作了。我已经更新了我原来的帖子,我做得对吗。当再次完成动画制作时,我如何告诉它。我假设我使用的是“结束”媒体事件?因此,当我上面的代码工作时,它感觉臃肿。幻灯片动画也相当紧张。有什么办法可以改进吗?