2016-10-24 6 views
0

の上にスクロール+視認性に私は現在、使用しています:本部フェードイン/アウトページ

<script> 
 
$(window).scroll(
 
    { 
 
     previousTop: 0 
 
    }, 
 
    function() { 
 
    var currentTop = $(window).scrollTop(); 
 
    if (currentTop < this.previousTop) { 
 
     $("#menu").fadeIn(); 
 
    } else { 
 
     $("#menu").fadeOut(); 
 
    } 
 
    this.previousTop = currentTop; 
 
}); 
 
</script>

マイページのメニューを作成するにはスクロールダウンするときフェードアウトとフェードインスクロールしたときこれはうまくいく。うまくいかないのは、ページの上にいるときにいつも見えるようにする必要があるということです。

私が見つけた唯一の解決策は、スクロールソリューションのフェードイン/アウトを無効にしています。両者が連携して解決策を見つけることを試みています。 Ex。上の200ピクセルをスクロールするときには常に表示されますが、スクロールの上/下にはフェードイン/アウトの機能があります。助言がありますか?ありがとう!

答えて

0

コードを編集して試しました。あなたの提案のための

<script> 
$(window).scroll(
    { 
     previousTop: 0 
    }, 
    function() { 
    var currentTop = $(window).scrollTop(); 
    if (currentTop == 0) { 
     $("#menu").addClass('static-on-top'); 
    } else { 
     $("#menu").removeClass('static-on-top'); 
     if (currentTop < this.previousTop) { 
      $("#menu").fadeIn(); 
     } else { 
      $("#menu").hide(); 
     } 
    } 
    this.previousTop = currentTop; 
}); 
</script> 
<style type="text/css"> 
.static-on-top { 
     display: block !important; 
} 
#menu { 
    position: fixed; 
    height: 30px; 
    background: red; 
    width: 100%; 
    top: 0; 
    left: 0; 
} 
</style> 
<div id="menu"> 
    Menu 
</div> 
+0

完全に動作します。ありがとうございました! – Maren

0

i suggetページの上部にあるときにクラス名を追加します。それから、CSSでスタイルを立てて常に上に表示することができます。

<script> 
$(window).scroll(
    { 
     previousTop: 0 
    }, 
    function() { 
    var currentTop = $(window).scrollTop(); 
    if (currentTop == 0) { 
     $("#menu").addClass('static-on-top'); 
    } else { 
     $("#menu").removeClass('static-on-top'); 
     if (currentTop < this.previousTop) { 
      $("#menu").fadeIn(); 
     } else { 
      $("#menu").fadeOut(); 
     } 
    } 
    this.previousTop = currentTop; 
}); 
</script> 
<style type="text/css"> 
.static-on-top { 
     display: block !important; 
} 
</style> 
+0

おかげで、私はそれがちょうどその時、ページの上部に(中とフェードアウト)点滅終わるコードを適用したとき: 最善の解決策は、フェードアウトを削除することです。 – Maren

+0

点滅は、fadeIn/fadeOutの持続時間が500msで、すべてのスクロール・ステップでトリガーされるためです。したがって、複数のfadeOut/fadeInが同時に実行されています。私はあなたがfadeOutをしてはいけないと思う。フェードインのみ。 –