ホームページ >ウェブフロントエンド >jsチュートリアル >jquery_jqueryをベースにページスクロール時のトップナビゲーションの表示・非表示を実装する

jquery_jqueryをベースにページスクロール時のトップナビゲーションの表示・非表示を実装する

WBOY
WBOYオリジナル
2016-05-16 15:29:581267ブラウズ

この記事の例では、ページがスクロールされたときのトップ ナビゲーション表示と非表示効果コードの jquery 実装について説明します。皆さんの参考に共有してください。詳細は以下の通りです。
実行中のエフェクトのスクリーンショットは次のとおりです:

具体的なコードは次のとおりです:

コアファイルの紹介

<script src="js/jquery/1.11.1/jquery.min.js"></script>

Build HTML、margint はスクロールバーを表示するためにこの div に組み込まれますが、実際的な効果はありません。

<div class="top-title">这是顶部导航条</div>
<div class="margint"><p>滚动看效果</p><p>滚动看效果</p></div>

CSS を書く

.top-title {background:#e74c3c;color:white;font-size:24px;padding:5px;text-align:center;position: fixed;left:0;top:0;width:100%;transition: top .5s;}
.hiddened{top: -90px;}
.showed{top:0;z-index: 9999;}

top-title は遷移を定義します: top .5s; 0.5 秒以内のアニメーション表示の上方向の値の変化を指します。たとえば、hiddenクラスを追加すると、top-titleは0.5秒以内にtopの0から-90PXまでアニメーションします。
JS を書く

$(function(){  
  var winHeight = $(document).scrollTop();
 
  $(window).scroll(function() {
    var scrollY = $(document).scrollTop();// 获取垂直滚动的距离,即滚动了多少
 
    if (scrollY > 550){ //如果滚动距离大于550px则隐藏,否则删除隐藏类
      $('.top-title').addClass('hiddened');
    } 
    else {
      $('.top-title').removeClass('hiddened');
    }
 
    if (scrollY > winHeight){ //如果没滚动到顶部,删除显示类,否则添加显示类
      $('.top-title').removeClass('showed');
    } 
    else {
      $('.top-title').addClass('showed');
    }        
 
   });
});

上記は、jquery に基づいてページをスクロールするときにトップ ナビゲーションを表示および非表示にする全体的なアイデアです。このアイデアに従って、ナビゲーションの表示と非表示の効果を完成させていただければ幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。