javascript - animate left not working on page scroll -


i have 2 div's in pink , sky blue color, make them same height , width. pink div covering height of screen, when scroll down , scrollbar reaches sky blue want animate blue div right , when scrollbar leave div want div move comes from.

$(document).ready(function(){  $(window).scrolltop(function(){  $(this).scroll(function(){  var scrolltoporbottom = $(document).height() - $(window).height() - $(window).scrolltop();    if(flag === 0 && scrolltoporbottom < 1256){     $('#bluediv').animate({right: '200px'}, function(){         flag = 1;     });  }  if(flag === 1 && scrolltoporbottom < 740){     console.log(scrolltoporbottom);  $('#bluediv').slideleft();     flag = 0;    }           });   });     }); 

js fiddle

you can apply logic:

  1. use transition animate element, css this:

    #bluediv {   width: 50%;   height: 100px;   background-color: blue;   position: absolute;   left:0;   transition:left 2s linear; } #bluediv.right {   left:50% } 
  2. with jquery check how far element sky top , trigger event if scroll reach that:

    $(window).scroll(function() {     var offt = $('#two').offset().top - $(window).height(),         scrt = $(window).scrolltop();     if(scrt >= offt) {        $('#bluediv').addclass('right')     } else {        $('#bluediv').removeclass('right')     } }); 

jquery demo


Comments

Popular posts from this blog

unity3d - Rotate an object to face an opposite direction -

angular - Is it possible to get native element for formControl? -

javascript - Why jQuery Select box change event is now working? -