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

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

页面代码,菜单的每一项都是一个 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. css中postion的fixed与absolute区别详解

    fixed:固定定位,参照位置是浏览器窗口的左上角,即坐标点为(0px, 0px) absolute:绝对定位,参展位置是离当前元素最近的定位方式为fixed,absolute,relative的祖先 ...

  2. Android概览

    1.1         Android的开发缘由 早起的移动电话单单只具有手机的功能,并没有追求更多的追求功能和游戏娱乐.而在诺基亚提供的“贪吃蛇”游戏集成获得巨大成功的时候,手机制造商们才意识到手机 ...

  3. PHP手册总结《预定义变量》

    一:$_GET GET 是通过 urldecode() 传递的. 二:$_SERVER 这个数组中的项目由 Web 服务器创建.不能保证每个服务器都提供全部项目:服务器可能会忽略一些 三:$argc, ...

  4. php手册总结《安装与配置》

    一:web服务器与php解释器的连接方式 有两个方法将 PHP 连接到服务器上. 1>通过SAPI模块来连接 对于很多服务器,PHP 均有一个直接的模块接口(也叫做 SAPI).这些服务器包括 ...

  5. MySQL无视密码进入Server

    在[mysqld]的段中加上一句:skip-grant-tables 如下 [mysqld] skip-grant-tables 即可不输入密码就可以进入mysql server,然后就可以随便修改数 ...

  6. WPF之鼠标滑动切换图片

    在网上找了一会儿也没找到我想要的效果,还是自己动手,丰衣足食吧. 需求:当前面板中只显示一张图片,图片栏的下部有用来显示当前图片处于图片队列中的位置的圆球,并且点击下部栏内的圆球可以快速切换,附动画缓 ...

  7. Animation 动画详解(一)——alpha、scale、translate、rotate、set的xml属性及用法

    一.概述 Android的animation由四种类型组成:alpha.scale.translate.rotate,对应android官方文档地址:<Animation Resources&g ...

  8. NSOperation使用系统提供子类的方法--处理复杂任务

    //创建一个队列 NSOperationQueue *operation=[[NSOperationQueue alloc]init]; //把任务放在NSBlockOperation里面 NSBlo ...

  9. 用javascript获取屏幕高度和宽度等信息

    网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: document.body.offsetWi ...

  10. C#实现插件式架构的方法

    插件式架构,一种全新的.开放性的.高扩展性的架构体系.插件式架构设计近年来非常流行,基于插件的设计好处很多,把扩展功能从框架中剥离出来,降低了框架的复杂度,让框架更容易实现.扩展功能与框架以一种很松的 ...