导航菜单

智能隐藏显示顶部导航菜单

阿里云

这是一款使用 js 和 css3 制作的智能隐藏和显示的顶部导航菜单。该顶部导航菜单在页面向下滚动时可以帧动画隐藏,在向上滚动到一定距离时优惠显示出来。

HTML 结构:

使用【header】元素作为该导航菜单的 HTML 结构:

也想出现在这里?联系我们
创客主机
  1. <header class="header-navigation" id="header">
  2.   <nav>
  3.     <a class="link" href="#" title="Home">首页</a>
  4.     <a class="link" href="#" title="About">关于我们</a>
  5.     <a class="link" href="#" title="Contact">联系我们</a>
  6.   </nav>
  7. </header>

CSS 样式:

为导航菜单添加样式,使它固定在页面的顶部:

  1. .header-navigation {
  2.   position: fixed;
  3.   top: 0;
  4.   width: 100%;
  5.   height: 60px;
  6.   line-height: 60px;
  7.   background-color: #333;
  8.   text-align: center;
  9.   box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
  10. }

导航菜单的隐藏和显示需要两个预定义的 class 类:

  1. /*导航菜单向上滑动*/
  2. .slideUp {
  3.   -webkit-transform: translateY(-100px);
  4.   transform: translateY(-100px);
  5.   transition: transform .5s ease-out;
  6. }
  7. /*导航菜单向下滑动*/
  8. .slideDown {
  9.   -webkit-transform: translateY(0);
  10.   transform: translateY(0);
  11.   transition: transform .5s ease-out;
  12. }

JavaScript 代码:

通过下面的 JavaScript 代码,在页面滚动到合适的位置时,隐藏或显示导航菜单。

  1. var new_scroll_position = 0;
  2. var last_scroll_position;
  3. var header = document.getElementById("header");
  4.  
  5. window.addEventListener('scroll', function(e) {
  6.   last_scroll_position = window.scrollY;
  7.  
  8.   // 向下滚动
  9.   if (new_scroll_position < last_scroll_position && last_scroll_position > 80) {
  10.     header.classList.remove("slideDown");
  11.     header.classList.add("slideUp");
  12.  
  13.   // 向上滚动
  14.   } else if (new_scroll_position > last_scroll_position) {
  15.     header.classList.remove("slideUp");
  16.     header.classList.add("slideDown");
  17.   }
  18.  
  19.   new_scroll_position = last_scroll_position;
  20. });

智能隐藏显示顶部导航菜单

已有 498 人购买
查看演示升级 VIP立刻购买

演示地址 下载地址
收藏
(1)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!