我只是想了解一个必须使用的jQuery脚本 现在我发现了以下片段:
$currPage.addClass( outClass ).on( animEndEventName, function() {
$currPage.off( animEndEventName );
endCurrPage = true;
if( endNextPage ) {
onEndAnimation( $currPage, $nextPage );
}
});
我已经知道的充实:
$currPage
:这是当前页面。这是一个<div class="page">
endCurrPage
:这是一个布尔值,标准为假
endNextPage
:与endCurrPage
我的问题是.on( animEndEventName,
部分。 animEndEventName
变量看起来像这样:
var animEndEventNames = {
'WebkitAnimation' : 'webkitAnimationEnd',
'OAnimation' : 'oAnimationEnd',
'msAnimation' : 'MSAnimationEnd',
'animation' : 'animationend'
},
animEndEventName = animEndEventNames[ Modernizr.prefixed( 'animation' ) ];
此代码由Modernizr.prefixed():http://modernizr.com/docs/#prefixed
提供 jQuery的.on()
等待事件,animEndEventName
。那么这究竟是如何运作的?我完全不明白这一部分......
我希望你能帮助我。如果您需要更多代码,请说出来。但我认为这是相关部分。
答案 0 :(得分:0)
Modernizr.prefixed( 'animation')
这将返回适当的&#34;前缀&#34;您当前浏览器的事件名称。例如,在IE中,它将返回&#34; msAnimation&#34;。
animEndEventNames[ Modernizr.prefixed( 'animation' ) ];
然后,这将获取该值并在animEndEventNames
中查找以获取匹配的结束事件名称。对于IE,&#34; MSAnimationEnd&#34;。
$currPage.on( animEndEventName,
这将绑定在触发适合浏览器的动画结束事件时将触发的处理程序。
This site可以很好地解释为什么需要这样做。