HTML/CSS

jQuery滚动事件$(window).scroll()实现导航栏高度变化

阿里云

有些网站的导航菜单的高度随着网页下拉变化,并且将网页恢复到顶部时,高度又恢复。效果如下图:
jQuery滚动事件$(window).scroll()实现导航栏高度变化
怎么实现这样的导航栏高度随着网页拖动变化呢?这就需要使用到 jQuery 滚动事件$(window).scroll()。下面介绍一下实现方法。

第一步:在网站导航代码底部放上以下的代码,用于监测导航菜单与滚动条的垂直位置距离,达到标注的高度后,就自动给导航菜单添加一个 class 类 head_up;

也想出现在这里?联系我们
创客主机
  1. <script>
  2. $(window).scroll(function () {
  3. var sT = $(window).scrollTop();
  4. if (sT >50) {
  5. $("#header").addClass("head_up");
  6. } else {
  7. $("#header").removeClass("head_up");
  8. }
  9. });
  10. </script>

第二步:然后就是给新添加的 CLASS 类添加 CSS 样式,让它控制这个新类下的菜单的高度。当然后如果有 LOGO 和下拉二级菜单时,也需要更换样式;

  1. /*鼠标下拉头部上缩*/
  2. #header.head_up,#header.head_up .logo a{height: 70px;transition: 400ms;}
  3. #header.head_up .logo img{max-width: 80%;head_uptransition: 400ms;}
  4. #header.head_up .nav_box .topnav>li>a{height: 70px;line-height: 70px;transition: 400ms;}
  5. #header.head_up .nav_box .topnav>li>.sub-menu{top: 70px;}

这样就可以实现下拉控制导航高度变化了。代码里 transition: 400ms 起到了渐变的效果。

jQuery 滚动事件$(window).scroll()实现导航栏高度变化

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

收藏
(0)

发表回复

热销模板

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

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