jQuery实现简单漂亮的Nav导航菜单效果
程序员文章站
2023-11-12 08:10:40
本文实例讲述了jquery实现简单漂亮的nav导航菜单效果。分享给大家供大家参考,具体如下:
自己写的一个简单的导航菜单,先看效果:
鼠标悬浮时菜单项向上移动成蓝底...
本文实例讲述了jquery实现简单漂亮的nav导航菜单效果。分享给大家供大家参考,具体如下:
自己写的一个简单的导航菜单,先看效果:
鼠标悬浮时菜单项向上移动成蓝底白字,点击之后底部会有蓝条表示当前选中项。
页面代码,菜单的每一项都是一个 div ,其中包括一个 ul 用来放置显示文字等,另一个 div 则是底部的蓝条,需要给第一项和最后一项设置不同的 class ,样式需要用到:
<div id="nav"> <div class="navitem indexnavitem"> <ul class="navul"> <li>首页</li> <li class="hoverli">首页</li> </ul> <div class="highlighter selectednav"></div> </div> <div class="navitem"> <ul class="navul"> <li>a</li> <li class="hoverli">a</li> </ul> <div class="highlighter"></div> </div> <div class="navitem lastnavitem"> <ul class="navul"> <li>a</li> <li class="hoverli">a</li> </ul> <div class="highlighter"></div> </div> <div id="logoutnavitem" class="navitem logoutnavitem lastnavitem"> <ul class="navul"> <li>退出</li> <li class="hoverli">退出</li> </ul> <div class="highlighter"></div> </div> </div>
样式,主要就是每个菜单项的左右边框的设置以及 ul 和 li 的位置设置:
* { padding: 0; margin: 0; } body { background-color: #fffff3; font: 12px/1.6em helvetica, arial, sans-serif; } ul,li{ list-style: none; } #nav { text-align: center; height: 50px; font-size: 10px; line-height: 30px; background-color: #f0e6db; margin-bottom: 10px; } .navitem { cursor: pointer; position: relative; float: left; width: 100px; height: 50px; font-size: 15px; border-right: 2px solid rgb(255,255,255); border-left: 2px solid rgb(255,255,255); overflow: hidden; font-weight:bold; } .indexnavitem { border-left: 4px solid rgb(255,255,255); margin-left: 10px; } .lastnavitem { border-right: 4px solid rgb(255,255,255); } .logoutnavitem { float: right; width: 120px; margin-right: 10px; border-left: 4px solid rgb(255,255,255); } .navul { position: relative; height: 100px; width: 100%; border-bottom: 5px solid rgb(2,159,212); } .navul li { height: 50px; line-height: 50px; } .highlighter { position: absolute; bottom: 0; height: 5px; width: 100%; } .selectednav { background-color: #029fd4; } .hoverli { background-color: #029fd4; color: #ffffff; }
接下来就是给菜单编写悬浮和单击事件的 js 代码了,悬浮时将 ul 上移 li 的高度,鼠标移开后再恢复,点击之后就是给蓝条的 div 添加样式即可:
$(function() { $(".navitem").hover(function() { $(this).children("ul").animate({ top: "-50px" }, 100); }, function() { $(this).children("ul").animate({ top: "0px" }, 100); }); $(".navitem").click(function(event) { $(this).siblings().children('.highlighter').removeclass('selectednav'); $(this).children('.highlighter').addclass('selectednav'); }); })
更多关于jquery相关内容感兴趣的读者可查看本站专题:《jquery切换特效与技巧总结》、《jquery扩展技巧总结》、《jquery常用插件及用法总结》、《jquery拖拽特效与技巧总结》、《jquery表格(table)操作技巧汇总》、《jquery中ajax用法总结》、《jquery常见经典特效汇总》、《jquery动画与特效用法总结》及《jquery选择器用法总结》
希望本文所述对大家jquery程序设计有所帮助。
上一篇: 使用Python读取二进制文件的实例讲解