私は、コードを持っているのを聞きました。animationEndイベントハンドライベントは2回
それは仕事をしますが、ウェブサイトが初めて起動されたときにも起動されます。
防止策はありますか?アニメーション終了イベントが2回目に聞こえるときにのみ、このアラートをトリガーする方法はありますか?
PS私はwow.jsを使用していますので、特定のページポイントまでスクロールした後に#sectionNameオブジェクトがスライドインしてから、警告を表示します。
私は、コードを持っているのを聞きました。animationEndイベントハンドライベントは2回
それは仕事をしますが、ウェブサイトが初めて起動されたときにも起動されます。
防止策はありますか?アニメーション終了イベントが2回目に聞こえるときにのみ、このアラートをトリガーする方法はありますか?
PS私はwow.jsを使用していますので、特定のページポイントまでスクロールした後に#sectionNameオブジェクトがスライドインしてから、警告を表示します。
それをシンプルにしてみてください。あなたがアニメーションをキャッチするwow.js callback
を使用することができます
Var firstTime = true
$('#sectionName').on('animationend webkitAnimationEnd oAnimationEnd', function() {
if(firstTime){
firstTime = false;
return;
}
alert("Hello");
});
よくわかりません。私はそれについて考えることさえしなかったのは簡単なことでした。 – Ancinek
が開始されます。
var sections = ['sectionName', 'sectionName2']
var wow = new WOW({
callback: function(box) {
var $box = $(box);
if (sections.indexOf($box.attr('id')) >= 0) {
$box.on('animationend webkitAnimationEnd oAnimationEnd', function() {
alert("Hello");
});
}
}
}).init();
のみanimationend
とwebkitAnimationEnd
について試験しました。
var isWebkitAnim = window.onanimationend === undefined && window.onwebkitanimationend !== undefined
var animationEndEvent = isWebkitAnim ? 'webkitAnimationEnd' : 'animationend'
$('#sectionName').on(animationEndEvent, function() {
alert("Hello")
})
いいえ、選択した要素ですべてのアニメーションが終了すると、イベントが呼び出されます。この問題を回避するには、最初のスライドアニメーションが完了するまでこのイベントハンドラの追加を遅らせることができます。 –
しかし、#sectionNameのアニメーションは1つしかなく、この要素の「スライドイン」ですが、ページを起動すると警告が表示されます。 – Ancinek