js和css3智能隐藏和显示的顶部导航菜单
这是一款使用js和css3制作的智能隐藏和显示的顶部导航菜单。该顶部导航菜单在页面向下滚动时可以帧动画隐藏,在向上滚动到一定距离时优惠显示出来。
使用方法
HTML结构
使用<header>
元素作为该导航菜单的HTML结构:
< header class = "header-navigation" id = "header" > < nav > < a class = "link" href = "#" title = "Home" >首页</ a > < a class = "link" href = "#" title = "About" >关于我们</ a > < a class = "link" href = "#" title = "Contact" >联系我们</ a > </ nav > </ header > |
CSS样式
为导航菜单添加样式,使它固定在页面的顶部:
.header-navigation { position : fixed ; top : 0 ; width : 100% ; height : 60px ; line-height : 60px ; background-color : #333 ; text-align : center ; box-shadow : 0 14px 28px rgba( 0 , 0 , 0 , 0.25 ), 0 10px 10px rgba( 0 , 0 , 0 , 0.22 ); } |
导航菜单的隐藏和显示需要两个预定义的class类:
/*导航菜单向上滑动*/ .slideUp { -webkit- transform : translateY ( -100px ); transform : translateY ( -100px ); transition : transform . 5 s ease-out; } /*导航菜单向下滑动*/ .slideDown { -webkit- transform : translateY ( 0 ); transform : translateY ( 0 ); transition : transform . 5 s ease-out; } |
JavaScript
通过下面的JavaScript代码,在页面滚动到合适的位置时,隐藏或显示导航菜单。
var new_scroll_position = 0 ; var last_scroll_position; var header = document.getElementById( "header" ); window.addEventListener( 'scroll' , function(e) { last_scroll_position = window.scrollY; // 向下滚动 if (new_scroll_position < last_scroll_position && last_scroll_position > 80 ) { header.classList.remove( "slideDown" ); header.classList.add( "slideUp" ); // 向上滚动 } else if (new_scroll_position > last_scroll_position) { header.classList.remove( "slideUp" ); header.classList.add( "slideDown" ); } new_scroll_position = last_scroll_position; }); |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现