Прослушиватель событий с gsap

#javascript #jquery #dom #event-listener #gsap

#javascript #jquery #dom #прослушиватель событий #gsap

Вопрос:

У меня здесь проблема

 const diplayes=document.querySelectorAll('.qq');
 for(const display of diplayes ){
 display.addEventListener('mouseover',()=>{

const tl = gsap.timeline({defaults:{ease:"power1.out"}});
tl.to('.div',{opacity:1, duration:1});
tl.to('span',{y:'0%', duration:1, stagger:0.25 },"-=1");
display.addEventListener('mouseleave',()=>{
    const tl = gsap.timeline({defaults:{ease:"power1.out"}});
    tl.fromTo('.div',{opacity:1},{opacity:0, duration:1});
    tl.to('span',{y:'10000%', duration:1, });
});

});
}
  

у меня есть 3 отдельных подразделения, поэтому я хочу, чтобы событие происходило индивидуально, но при перемещении по любому подразделению событие происходит со всеми подразделениями
, что я могу сделать?

Ответ №1:

Вы совершаете одну из наиболее распространенных ошибок GSAP: используете общую цель вместо конкретной. Как описано в связанной статье, вместо этого вам следует выполнить цикл по всем вашим экземплярам, создать анимацию для каждого и прикрепить прослушиватели событий для каждого, который ссылается на эту конкретную анимацию. Я расскажу больше об этом подходе в своей статье об эффективной анимации, которую я также настоятельно рекомендую.

К вашему сведению, вы, скорее всего, получите более быстрый ответ на форумах GSAP.