2017-05-16 5 views
0

皆さん、私はjsとHTMLを学んでいました。皆さんはたくさんのことを学ぶために努力してきました。ページ上の特定のポイントでnavbarを下にスライドさせましたか?

私は、ページの特定の部分(スクロールによる)でトリガーしたいnavbarを持っています。私が持っているコードは、現在、ナビゲーションバーが無限ループで退色し続けるように強制しています。ここで

は私のJavascriptです:

$('.navbarclass').hide(0); 

    $(window).on('scroll', function() { 
     var y_scroll_pos = window.pageYOffset; 
     var scroll_pos_test = 150;   

     if(y_scroll_pos > scroll_pos_test) { 
      $('.navbarclass').slideToggle(); 
     } 

    }); 

は基本的に私は(それがないもの)ナビゲーションバーが150でトリガしたいが、それは内外にトグルをループし続けます。

答えて

0

.slideDown()へ。したがって、150pxを超える各スクロールでは、navbarのslideDownまたはslideUpが作成されます。

私はこのように条件を実行します。

if (y_scroll_pos > scroll_pos_test) { 
    $('.navbarclass').slideDown(); 
} else { 
    $('.navbarclass').slideUp(); 
} 

これはスクロールが150ピクセルよりも大きい場合にナビゲーションバーをslideDownれ、150ピクセル以下である場合slideUpう。

スクロールが150pxを超えていて何も表示しない場合は、elseブロックだけを削除してください。

+0

パーフェクト、これは動作します!ありがとう! –

0

変更.slideToggle()あなたが150ピクセルをスクロールした後の状態は常にtrueになりますので、それはトグルでループしている

+0

**レビューキューから**:あなたの答えにいくつかの文脈を追加してください。コードのみの回答は理解しにくいです。あなたの投稿にさらに情報を追加することができれば、これはAskerと将来の読者に役立ちます。 – RBT

関連する問題