2016-09-19 2 views
1

はあなたには、いくつかを下にスクロールすると、ナビゲーションバーのアニメーションを作成する方法のだろうか。私が知っている1つの例はFlatIconです。私はちょうど人が下にスクロールするときにウェブサイトを認識させる方法を知る必要があります。私はアニメーションナビゲーションバー

+0

使用; **するmouseXにあなたがスクロールしますこれはピクセル単位で増加します。 – Sunny

+0

これについての詳細は、偶然お考えですか?私はちょっと混乱しています –

+0

Okを説明します – Sunny

答えて

0

自分自身のアニメーション行うことができますが、ユーザスクロール90以上のピクセル

JAVAスクリプトコード

//ONSCROLL FUNCTION TO HIDE MENU 
function hideMenu(){ 
    var mouseX = window.scrollY; 
    var menu = document.getElementById("pageHeader"); 
    if(mouseX > 90){ 
     menu.style.height = "50px"; 
     menu.style.transition = "height 1s"; /*This is Optional */ 
    }else { 
     menu.style.height = "100PX"; 
     menu.style.transition = "height 1s"; 
    } 
} 
window.addEventListener("scroll",hideMenu); 

CSSコードの後に​​、あなたのメニューの高さを変更するとします。 ITは、SIMPLE JUST FORは、このコードで

<style> 
#pageHeader { 
height: 100px; 
} 
</style> 

HTMLコード

<div id="pageHeader"> 
<!-- HERE IS YOUR MENU ITEMS OR THEIR CONTAINER... --> 
</div> 

この関数hideMenu()は常に、ユーザーが自分のページを下にスクロールしたときに開始さを理解しています。それらが90pxを超えてスクロールすると、メニューの高さは50pxになります。 if else conditionを使用して、さらに多くのエフェクトを追加することができます。 これがあなたを助けてくれることを願っています。あなたは、さらに質問がある場合は...それらをコメント

+0

それを得て、とてもうまく説明しました。どうもありがとう –

0

あなたはjqueryの機能を発射し、CSSを経由してposition:fixedを配置するクラスを有効にすることができます。 Live Example

HTML

<div id="nav-bar"></div> 
<div id="some-content"></div> 
<div id="anchor-point"></div> 
<div id="sticky"></div> 
<div id="some-content2"></div> 

CSS

#nav-bar{ 
    margin-top: 0; 
    background-color: #000; 
    height:60px; 
    position: fixed; 
    top: 0; 
    z-index: 1; 
    width:100% 
} 
#some-content{ 
    height: 500px; 
} 
#sticky{ 
    width:100%; 
    height:50px; 
    background-color:#ccc; 
} 

#sticky.stick { 
    margin-top: 60px !important; 
    position: fixed; 
    top: 0; 
    z-index: 2000; 
} 
#some-content2{ 
    height: 500px; 
} 

はJQuery/JSのように** VARするmouseX = window.scrollY javascriptの

function stick_sticky() { 
    var window_top = $(window).scrollTop(); 
    var div_top = $('#anchor-point').offset().top; 
    if (window_top > div_top) { 
     $('#sticky').addClass('stick'); 
     $('#anchor-point').height($('#sticky').outerHeight()); 
    } else { 
     $('#sticky').removeClass('stick'); 
     $('#sticky-anchor').height(0); 
    } 
} 

$(function() { 
    $(window).scroll(stick_sticky); 
    stick_sticky(); 
});