javascript - waypoint addClass and remove class of a "fixed" element works when going down but doesn't going up -


i'm working on website parallax effect using stellar: http://webdesign.tutsplus.com/tutorials/complete-websites/create-a-parallax-scrolling-website-using-stellar-js/

i've got "fixed" div class @ center of page. when scroll down or class changes depending on slide "active".

i'm using waypoint , works fine when i'm scrolling down page. when scroll up, instead of changing class, put 1 after other, order shifted , class doesn't match right slide.

here html (#square fixed div):

<body>  <ul class="navigation"> <li id="un"     data-slide="1">slide 1</li> <li id="deux"   data-slide="2">slide 2</li> <li id="trois"  data-slide="3">slide 3</li> <li id="quatre" data-slide="4">slide 4</li> <li id="cinq"   data-slide="5">slide 5</li> <li id="six"    data-slide="6">slide 6</li> <li id="sept"   data-slide="7">slide 7</li> <li id="huit"   data-slide="8">slide 8</li> <li id="neuf"   data-slide="9">slide 9</li> <li id="dix"    data-slide="10">slide 10</li> <li id="onze"   data-slide="11">slide 11</li> </ul>  <div id="square" class="trans1"></div>  <div class="slide" id="slide1" data-slide="1" data-stellar-background-ratio="0.5"> <a class="button" data-slide="2" title=""></a>  </div><!--end slide 1-->  <div class="slide" id="slide2" data-slide="2" data-stellar-background-ratio="0.5">     <div class="wrapper">       <img src="images/slide2/blur-ball.png" data-stellar-ratio="3" data-stellar-vertical-offset="-55"alt="">       <img src="images/slide2/blur-ball-big.png" data-stellar-ratio="1" data-stellar-vertical-offset="-102"alt="">    </div>     <span class="slideno">slide 2</span>    <a class="button" data-slide="3" title=""></a>  </div><!--end slide 2-->   <div class="slide" id="slide3" data-slide="3" data-stellar-background-ratio="0.5">    <div class="wrapper">    <img src="images/slide3/freelance.png" data-stellar-ratio="1.4" data-stellar-vertical-offset="-102"alt="">    <img src="images/slide3/psdtuts.png" data-stellar-ratio="1.5" data-stellar-vertical-offset="-53"alt="">    <img src="images/slide3/rockable.png" data-stellar-ratio="2.7" data-stellar-vertical-offset="-200"alt="">    <img src="images/slide3/themeforest.png" data-stellar-ratio="3" data-stellar-vertical-offset="-200"alt="">    <img src="images/slide3/tutshub.png" data-stellar-ratio="1" data-stellar-vertical-offset="-200"alt="">    <img src="images/slide3/psdtuts.png" data-stellar-ratio="1.5" data-stellar-vertical-offset="-200"alt="">    </div>     <span class="slideno">slide 3</span>    <a class="button" data-slide="4" title=""></a>  </div><!--end slide 3-->  <div class="slide" id="slide4" data-slide="4" data-stellar-background-ratio="0">     <span class="slideno">slide 4</span>    <span class="parallaxbg">use parallax effects on background images too!</span>  </div><!--end slide 4--> 

and here javascript

//1st slide     $('#square').waypoint(function(direction) {         if (direction === 'down') {         $('#square').toggleclass('trans1');     }     else {         $('#square').toggleclass('trans1');     }     });      // 2nd slide     $('#slide2').waypoint(function(direction) {         if (direction === 'down') {         $('#square').toggleclass('trans2'), $('#square').removeclass('trans1');     }     else {         $('#square').toggleclass('trans2'), $('#square').removeclass('trans1');     }     }, { offset: '50%' });          $('#slide2').waypoint(function(direction) {             if (direction === 'up') {             $('#square').toggleclass('trans1'),$('#square').removeclass('trans2');         }         });     //3rd slide    $('#slide3').waypoint(function(direction) {         if (direction === 'down') {         $('#square').toggleclass('trans3'),$('#square').removeclass('trans2');     }     else {         $('#square').toggleclass('trans3'),$('#square').removeclass('trans2');     }}, { offset: '50%' });          $('#slide3').waypoint(function(direction) {                 if (direction === 'up') {             $('#square').toggleclass('trans2'),$('#square').removeclass('trans3');             }         });      //4th slide     $('#slide4').waypoint(function(direction) {         if (direction === 'down') {         $('#square').toggleclass('trans4'),$('#square').removeclass('trans3');     }     else {         $('#square').toggleclass('trans4'),$('#square').removeclass('trans3');     }}, { offset: '50%' });          $('#slide4').waypoint(function(direction) {                 if (direction === 'up') {             $('#square').toggleclass('trans3'),$('#square').removeclass('trans4');             }         }); 

here's link website : http://ambuscade.ca/dev2/

thanks

having created portfolio site (http://anti-code.com) crazy stuff along parallax scrolling in directions, way have code structured done far more object oriented, , make things less repetitive.

but besides that. issue having because not removing classes. toggling ones each slide.

so example, instances have this:

   $('#square').toggleclass('trans2'),$('#square').removeclass('trans3'); 

could changed work properly:

  $('#square').removeattr('class').addclass('trans2'); 

if makes sense. aren't changing class otherwise, you're toggling on different trans# class name on square element. if remove class attribute first before toggling it, , add classname want turn on work.


Comments

Popular posts from this blog

c++ - llvm function pass ReplaceInstWithInst malloc -

java.lang.NoClassDefFoundError When Creating New Android Project -

Decoding a Python 2 `tempfile` with python-future -