自己写的一个简单的导航菜单,先看效果:

鼠标悬浮时菜单项向上移动成蓝底白字,点击之后底部会有蓝条表示当前选中项。

页面代码,菜单的每一项都是一个 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:;
margin:;
}
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:;
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 简单漂亮的 Nav 导航菜单的更多相关文章

  1. jQuery ui背景色动态渐变导航菜单

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. 一款jQuery立体感动态下拉导航菜单特效

    一款jQuery立体感动态下拉导航菜单特效,鼠标经过,在菜单栏上方下拉出一个背景图片,效果十分不错的一款jquery特效. 对IE6都是兼容的,希望大家好好研究研究. 适用浏览器:IE6.IE7.IE ...

  3. 一款基jquery超炫的动画导航菜单

    今天给大家分享一款基jquery超炫的动画导航菜单.这款导航菜单,初始时页面中间一个按钮,单击按钮,菜单从左侧飞入页中.再次单击按钮,导航飞入左侧消息.动画效果很非常炫.一起看下效果图: 在线预览   ...

  4. 基于jQuery动画二级下拉导航菜单

    春节回来给大家分享一款基于jQuery动画二级下拉导航菜单.鼠标经过的时候以动画的形式出现二级导航.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id=" ...

  5. jquery实现的个人中心导航菜单

    之前为大家介绍了一款jquery和css3实现的很酷的菜单导航.这是一款由jquery开发的导航菜单.适合放在门户网站的个人用户中心后台.效果和美观都非常不错.我们先一起看看效果图: 在线预览   源 ...

  6. 使用 jQuery 和 CSS3 制作滑动导航菜单

    这个下拉菜单可以让你的网站非常优雅,滑动框导航效果令人印象深刻.此外,子菜单框也可以与此集成起来以使其更具吸引力.导航是网站成功的关键之一,有吸引力的导航能够引导用户浏览网站中的更多内容. 效果演示  ...

  7. jquery和css3实现滑动导航菜单

    效果预览:http://keleyi.com/keleyi/phtml/html5/15/ 有都中颜色可供选择,请使用支持HTML5/CSS3的浏览器访问. HTML源代码: <!DOCTYPE ...

  8. jquery仿天猫商城左侧导航菜单

    之前看到有博友写了一个仿天猫商城左侧导航菜单,可惜不提供免费下载,也没有代码.以前自己也写过类似的效果,只是都是一小块一小块的,现在重新拼凑.我将一步一步的实现拼凑过程,希望对你有所帮助. Demo在 ...

  9. (转)jquery仿天猫商城左侧导航菜单

    原文地址:http://www.cnblogs.com/WinKi/p/3398824.html 之前看到有博友写了一个仿天猫商城左侧导航菜单,可惜不提供免费下载,也没有代码.以前自己也写过类似的效果 ...

随机推荐

  1. Caused by: java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams

    最近,在android中用代码动态改变某种布局(组件)的高度时,会遇到如题所示的类转换异常.上网查了一下,如下所示: These supply parameters to the parent of ...

  2. vs2012运行c语言出现:无法查找或打开 PDB 文件

    1.点 调试2.然后 选项和设置3.右边勾上 启用源服务器支持4.左边点 符号5.把微软符号服务器勾6.运行的时候等一下 莫慌!!7.问题解决

  3. cocos2d-html5 笔记5: 事件

    在cocos2d里面,通过Node的方式,将整个场景以及里面的object给组织起来,这样很容易画了,从root node开始遍历,把整棵树画出来就是了. 剩下就是animation,timer, 还 ...

  4. C#开源项目

    原文:  http://alance.iteye.com/blog/693987 一.AOP框架        Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase 独特的提供了 ...

  5. MySql 5.7安装配置

    最新的MySql免安装版配置: 1,解压缩: 2,添加系统环境变量,PATH=.......;C:\Program Files\MySQL\MySQL Server 5.7\bin 3,修改MySql ...

  6. 解决Intellij IDEA 通过archetype创建Maven项目缓慢的问题

    1.由于默认情况下,根据archetype创建maven项目会从网络下载catalog文件,导致创建maven项目缓慢 Searching for remote catalog: http://rep ...

  7. spring事务管理出错。No Hibernate Session bound to thread, and configuration does not allow creation of non-transactional one here

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy ...

  8. page59-一种能够累加数据的ADT(可视化版本) [可用于数据挖掘可视化工具]

    public class VisualAccumulator VisualAccumulator() 创建一个累加器 void addDataValue(double val) 添加一个新的数据值 d ...

  9. ajax中的setRequestHeader设置请求头

    1.问题引发点: 前不久发现一个问题: 前端并没有设置请求头信息里面的Accept-Encoding:gzip...但是在请求头中可以明显的看到Accept-Encoding:gzip, deflat ...

  10. cordova发送邮件插件:ngcordova plugin-Email Composer

    这是ngcordova里边的一个发送邮件的插件,具体的使用方法为: (参考文档:http://ngcordova.com/docs/plugins/emailComposer/) 1.首先下载插件: ...