我使用Remysharp In View插件來確定元素何時在視圖中。當它在視圖中時,我使用velocity來顯示該元素。出於某種原因,在In視圖調用中,動畫觸發兩次。在In View調用之外,它的工作原理應該如此。Remysharp的js Inview插件啓動了兩次速度轉換
爲什麼它會發射兩次?
$(".xslideUpIn").one('inview', function (event, visible) {
if (visible == true) {
$(".xslideUpIn").velocity('transition.slideUpIn', { stagger: 700 }).delay(1000)
} else {
// element has gone out of viewport
}
});
嘗試,你可以爲此創建的jsfiddle?我猜想它會發射兩次,因爲速度可能會同步移動視口,在您的函數尚未解除綁定時觸發另一個事件。嘗試使用setTimeout –