2016-10-21 4 views
0

Я использую ScrollMagic, следующий код:ScrollMagic на Enter не работает должным образом

var scene = new ScrollMagic.Scene({ 
    triggerElement: slides[i] 
     }) 
    .setPin(slides[i]) 
    .addIndicators() 
    .addTo(controller) 
    .triggerHook(0.10) 
    .on('enter', function(e){ 
     panel = $(e.target.triggerElement()).prop('id'); 
     $('.circle').removeClass('active'); 
     $('.circle.c-'+panel).addClass('active'); 
    }); 

на функцию ввода отлично работает при прокрутке вниз, но не при прокрутке. В соответствии с официальной документацией это работает в обоих направлениях, что я могу сделать неправильно?

ответ

0

вы должны написать на "оставить" функцию,

var scene = new ScrollMagic.Scene({ 
triggerElement: slides[i] 
    }) 
.setPin(slides[i]) 
.addIndicators() 
.addTo(controller) 
.triggerHook(0.10) 
.on('enter', function(e){ 
    panel = $(e.target.triggerElement()).prop('id'); 
    $('.circle').removeClass('active'); 
    $('.circle.c-'+panel).addClass('active'); 
}) 
.on('leave', function(e){ 
    // Your up scroll code here. 
}); 
0

Вам нужно установить reverse в true так:

var scene = new ScrollMagic.Scene({ 
    triggerElement: slides[i] 
     }) 
    .setPin(slides[i]) 
    .addIndicators() 
    .addTo(controller) 
    .triggerHook(0.10) 
    .reverse(true) 
    .on('enter', function(e){ 
     panel = $(e.target.triggerElement()).prop('id'); 
     $('.circle').removeClass('active'); 
     $('.circle.c-'+panel).addClass('active'); 
    }); 
Смежные вопросы