2016-02-12 3 views
5

Ich habe Probleme mit dem ScrollMagic. Es reagiert überhaupt nicht auf das Triggerelement. Im Folgenden werde ich mit dem Code zur Verfügung stellen:scrollmagic reagiert nicht auf das Triggerelement

die CSS:

.container { 
    height: 3000px; 
} 

#trigger { 
    position: relative; 
    top: 300px; 
} 

.katrori { 
    opacity: 0; 
    position:relative; 
    top:300px; 
    background-color:#eee; 
    height:400px; 
    padding:25px; 
    font-family:Arial, Sans-serif; 
    font-weight:bold; 
} 

und die JS:

$(document).ready(function($)) { 
    var controller = new ScrollMagic(); 
    var tween = TweenMax.to(".katrori", 0.5, {opacity: 1, backgroundColor: "#1d1d1d"}) 
    var scene = new ScrollScene({triggerElement: "#trigger"}) 
    .setTween(tween) 
    .addTo(controller); 
}); 

was bin ich dabei?

+0

Sie vermissen ** richtigen Einzug ** für eine Sache;) Aber im Ernst, könnten Sie einen [CodePen] (http://codepen.io/) oder [JSFiddle] (https://jsfiddle.net) einrichten /)? –

+0

http://codepen.io/Separator/pen/xZMOJz –

Antwort

2

Ihre JS hat hauptsächlich zwei Fehler.

  1. Sie haben eine parenthesis (")") zu viele.

    $(document).ready(function($)) { 
              ^^ --> one of those 
    
  2. Sie verwenden ScrollMagic Version > = 2 (die Sie sollten), aber ihre Funktionen aus Version verwenden. Hier ist ihre documentation für die aktuellen Versionen.

    Der richtige Weg, um die container und scene ist jetzt zu initialisieren:

    var container = new ScrollMagic.Container({...}); 
    var scene = new ScrollMagic.Scene({...}); 
    

Wenn Sie gelten diese Änderungen ein funktionierendes Beispiel für Ihre code könnte so aussehen this:

$(document).ready(function ($) { 
    var controller = new ScrollMagic.Controller(), 
     tween = TweenMax.to(".katrori", 0.5, {opacity: 1, backgroundColor: "#1d1d1d"}), 
     scene = new ScrollMagic.Scene({triggerElement: "#trigger"}); 

    scene 
     .setTween(tween) 
     .addTo(controller); 
}); 

Sie können auch ihre examples betrachten .

EDIT

Zusatz Bulletpoint 2:

In ScrollMagic Version die container und scene wurden im Skript auf diese Weise initialisiert:

var controller = new ScrollMagic({ *global options applying to all scenes added*}); 
var scene = new ScrollScene({ *options for the scene* }) 

In der Version die gleiche Sache wird so gemacht:

var container = new ScrollMagic.Container({...}); 
var scene = new ScrollMagic.Scene({...}); 

Das ist, warum Sie Skript vorher nicht arbeiten. Die styling ist immer noch in CSS getan.

+0

Danke viel Mann :) das half mir sehr, obwohl ich Dauer und Offset hinzufügen musste, damit es funktioniert. Was ist mit dem oben erwähnten Container? Ich habe es nicht gut verstanden. Ich habe den Container über CSS gestylt. muss ich es auch in der JS-Datei initialisieren? –

+0

yah, nett. Danke auch für die Bearbeitung.Ich wusste nicht, dass es 2 Versionen von scrollmagic gibt. Ich bin gerade durch verschiedene Beispiele im Internet gestolpert und habe es abgemischt: P jetzt bin ich mir der zweiten Version bewusst, also hat mich das sehr gehänselt. Danke nochmal;) vielleicht habe ich noch andere Fragen während ich daran arbeite ... –

Verwandte Themen