滚动时触发 Lottie 动画
Trgger Lottie animation on scroll
所以我制作了一个自定义的 lottie 动画,并将其导入到我的 Nuxt 项目中。控制滚动动画的最佳方法是什么?该组件有一个 @AnimControl 属性,但我不知道如何使用它。
好吧,我解决了,如果有人遇到同样的问题,我是这样做的:
我基本上是把ScrollMagic和vue-lottie库一起用的
animate(){
const valSect = this.$refs.valueSection;
//SCROLLMAGIC
const controller = new this.$scrollmagic.Controller();
const scene = new this.$scrollmagic.Scene({
duration:9000,
triggerElement:valSect,
triggerHook:0
})
.setPin(valSect)
.addTo(controller);
let scrollpos = 0; //SCROLL POSITION TRACKER
//SCROLL LISTENER
scene.on('update', e => {
scrollpos=e.scrollPos/this.anim.totalFrames;
})
setInterval(() => {
//delay += (scrollpos - delay) * accelAmount;
this.anim.goToAndStop(scrollpos,true);
});
}
},
我在 mounted 中调用了这个 animate 方法,我也通过另一种方法将它绑定到 lottie 组件上。
所以我制作了一个自定义的 lottie 动画,并将其导入到我的 Nuxt 项目中。控制滚动动画的最佳方法是什么?该组件有一个 @AnimControl 属性,但我不知道如何使用它。
好吧,我解决了,如果有人遇到同样的问题,我是这样做的:
我基本上是把ScrollMagic和vue-lottie库一起用的
animate(){
const valSect = this.$refs.valueSection;
//SCROLLMAGIC
const controller = new this.$scrollmagic.Controller();
const scene = new this.$scrollmagic.Scene({
duration:9000,
triggerElement:valSect,
triggerHook:0
})
.setPin(valSect)
.addTo(controller);
let scrollpos = 0; //SCROLL POSITION TRACKER
//SCROLL LISTENER
scene.on('update', e => {
scrollpos=e.scrollPos/this.anim.totalFrames;
})
setInterval(() => {
//delay += (scrollpos - delay) * accelAmount;
this.anim.goToAndStop(scrollpos,true);
});
}
},
我在 mounted 中调用了这个 animate 方法,我也通过另一种方法将它绑定到 lottie 组件上。