2012-03-09 12 views
0

私はこのコードを使用して、ユーザーがページをスクロールするときにメニューバーを非表示にします。 Chrome 17.0.963.78では問題なく動作しますが、他のブラウザでは点滅し続けます。 FirefoxとSafariの...JavaScriptがスクロールアクションのdiv要素を隠す

$(window).load(function(){ 
    $(document).scroll(function(){ 
     $('#inner_floating').fadeOut(); 

     var scrollA = $('body').scrollTop(); 

     setTimeout(function(){ 
      if(scrollA == $('body').scrollTop()){ 
       $('#inner_floating').fadeIn(); 
      } 
     }, 100); 
    }) 
}); 

答えて

1

問題は、あなたの.scroll機能がスクロールすべてのピクセル(またはマウスホイールティック)のために呼び出されているということなので、アニメーションが連続して何度も実行されています。

$(window).load(function(){ 
    $(document).scroll(function(){ 
     if($("#inner_floating:hidden").length == 0) { 
      $('#inner_floating').fadeOut(); 
     } 

     var scrollA = $('body').scrollTop(); 

     setTimeout(function(){ 
      if(scrollA == $('body').scrollTop() && $("#inner_floating:hidden").length > 0){ 
       $('#inner_floating').fadeIn(); 
      } 
     }, 100); 
    }) 
}); 

必要に応じてアニメーションにのみ起こっているこの方法:

はこのような何かを試してみてください。

関連する問題