2016-06-25 6 views
1

私は次のjqueryを持っています。私がしようとしているのは、私のページパスを900pxにして左からdivをスライドさせ、900pxのパスをスクロールして見えなくなったときです。今、私がページの一番下にいるときにスライドアウトすると、スクロールバックしてもスライドしません。私はちょうど私が間違っていることを理解できません。私は本当にある方向に感謝します。jqueryアニメーションを前後にスライドさせる

$(window).scroll(function() {    
    var content = $(window).scrollTop(); 
     if (content < 950){ 
      $('.float-menu').animate({left: '-100px'},800); 
      } else { 
     if (content > 950) { 
      $('.float-menu').animate({left: '0px'},500); 
     } 

    } 

});

答えて

2

これあなたが始めるかもしれません:

viz = false; 
 

 
$(window).scroll(function(){ 
 
    pos = $(window).scrollTop(); 
 
    $('#msg').html(pos); 
 
    if (!viz && pos > 500){ 
 
    viz = true; 
 
    $('#bob').animate({left : '10%' },800); 
 
    }else if (viz && pos < 500){ 
 
    viz = false; 
 
    $('#bob').animate({left : '-100%' },800); 
 
    } 
 
});
html,body{height:2000px;} 
 
    #bob{position:fixed;left:-100%;} 
 

 
#msg{position:fixed;right:0;width:100px;padding:20px;text-align:center;background:beige;border:1px solid orange;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 

 
<div id="msg"></div> 
 

 
<div id="bob"> 
 
    <img src="http://lorempixel.com/200/200" /> 
 
</div>


注:アニメーションを実行するか否かを追跡するために、ブールvizを使用。それがなければ、アニメーションコードは常にpos > 500またはpos < 500

+0

のときに実行されます。この感謝をお祈りします。 – user6462102

関連する問題