jQuery实现简单的列表式导航菜单效果代码


Posted in Javascript onAugust 31, 2015

本文实例讲述了jQuery实现简单的列表式导航菜单效果代码。分享给大家供大家参考。具体如下:

这里使用jQuery实现简单的列表式导航菜单,是根据网上的一个教程,边看边写的,经过了修正,拷贝代码即可使用。主要实现包括三个部分,一是CSS、二是引入jQuery、三是编写JS代码进行jQuery控件。

运行效果截图如下:

jQuery实现简单的列表式导航菜单效果代码

在线演示地址如下:

具体代码如下:

<html>
<head>
<title>jQuery实现简单的列表导航菜单</title>
<script type='text/javascript' src='jquery-1.6.2.min.js'></script>
<style type="text/css">
body{font-size:13px}
ul,li{list-style-type:none;padding:0px;margin:0px}
.menu{width:190px;border:solid 1px #E5D1A1;background-color:#FFFDD2}
 .optn{width:190px;line-height:28px;border-top:dashed 1px #ccc}
 .content{padding-top:10px;clear:left}
 a{text-decoration:none;color:#666;padding:10px}
.optnFocus{background-color:#fff;font-weight:bold}
div{padding:10px}
div img{float:left;padding-right:6px}
span{padding-top:3px;font-size:14px;font-weight:bold;float:left}
.tip{width:190px;border:solid 2px #ffa200;position:absolute;padding:10px;
background-color:#fff;display:none}
.tip li{line-height:23px;}
#sort{position:absolute;display:none}
</style>
 <script type="text/javascript">
 $(function() {
  var curY; //获取所选项的Top值
  var curH; //获取所选项的Height值
  var curW; //获取所选项的Width值
  var srtY; //设置提示箭头的Top值
  var srtX; //设置提示箭头的Left值
  var objL; //获取当前对象
  /*
  *设置当前位置数值
  *参数obj为当前对象名称
  */
  function setInitValue(obj) {
  curY = obj.offset().top
  curH = obj.height();
  curW = obj.width();
  srtY = curY + (curH / 2) + "px"; //设置提示箭头的Top值
  srtX = curW - 5 + "px"; //设置提示箭头的Left值
  }
  $(".optn").mouseover(function() {//设置当前所选项的鼠标滑过事件
  objL = $(this); //获取当前对象
  setInitValue(objL); //设置当前位置
  var allY = curY - curH + "px"; //设置提示框的Top值
  objL.addClass("optnFocus"); //增加获取焦点时的样式
  objL.next("ul").show().css({ "top": allY, "left": curW }) //显示并设置提示框的坐标
  $("#sort").show().css({ "top": srtY, "left": srtX }); //显示并设置提示箭头的坐标
  })
  .mouseout(function() {//设置当前所选项的鼠标移出事件
  $(this).removeClass("optnFocus"); //删除获取焦点时的样式
  $(this).next("ul").hide(); //隐藏提示框
  $("#sort").hide(); //隐藏提示箭头
  })
  $(".tip").mousemove(function() {
  $(this).show(); //显示提示框
  objL = $(this).prev("li"); //获取当前的上级li对象
  setInitValue(objL); //设置当前位置
  objL.addClass("optnFocus"); //增加上级li对象获取焦点时的样式
  $("#sort").show().css({ "top": srtY, "left": srtX }); //显示并设置提示箭头的坐标
  })
  .mouseout(function() {
  $(this).hide(); //隐藏提示框
  $(this).prev("li").removeClass("optnFocus"); //删除获取焦点时的样式
  $("#sort").hide(); //隐藏提示箭头
  })
 })
 </script>
 </head>
<body>
<ul>
 <li class="menu">
  <div>
   <img alt="" src="images/icon.gif" />
   <span>精品源码下载社区</span>
  </div>
  <ul class="content">
  <li class="optn"><a href="#">Visual C#</a></li>
  <ul class="tip">
   <li><a href="#">数据库</a></li>
   <li><a href="#">系统控制</a></li>
   <li><a href="#">多媒体</a></li>
   <li><a href="#">字符处理</a></li>
   <li><a href="#">打印输出</a></li>
  </ul>
  <li class="optn"><a href="#">Delphi</a></li>
  <ul class="tip">
   <li><a href="#">图像处理</a></li>
   <li><a href="#">窗体设计</a></li>
   <li><a href="#">数据库应用</a></li>
   <li><a href="#">初学实例</a></li>
  </ul>
  <li class="optn"><a href="#">VC++</a></li>
  <ul class="tip">
   <li><a href="#">系统控制</a></li>
   <li><a href="#">数据库应用</a></li>
   <li><a href="#">电脑软件3</a></li>
   <li><a href="#">字符处理</a></li>
   <li><a href="#">电脑软件5</a></li>
  </ul>
  <li class="optn"><a href="#">VisualBasic</a></li>
  <ul class="tip">
   <li><a href="#">系统控制</a></li>
   <li><a href="#">网络编程</a></li>
   <li><a href="#">窗口界面</a></li>
   <li><a href="#">控件组件</a></li>
   <li><a href="#">图像编程</a></li>
  </ul>
  </ul>
  <img id="sort" src="images/sort.gif" alt=""/>
  </li>
 </ul>
</body>
</html>

希望本文所述对大家的jquery程序设计有所帮助。

Javascript 相关文章推荐
.net,js捕捉文本框回车键事件的小例子(兼容多浏览器)
Mar 11 Javascript
js中事件的处理与浏览器对象示例介绍
Nov 29 Javascript
JavaScript实现继承的4种方法总结
Oct 16 Javascript
JS弹出新窗口被拦截的解决方法
Aug 09 Javascript
bootstrap多层模态框滚动条消失的问题
Jul 21 Javascript
js实现加载页面就自动触发超链接的示例
Aug 31 Javascript
Angularjs中的$apply及优化使用详解
Jul 02 Javascript
微信小程序事件 bindtap bindinput代码实例
Aug 26 Javascript
JavaScript 反射和属性赋值实例解析
Oct 28 Javascript
Vue项目页面跳转时浏览器窗口上方显示进度条功能
Mar 26 Javascript
微信小程序使用前置摄像头拍照
Oct 22 Javascript
JS继承最简单的理解方式
Mar 31 Javascript
jquery实现红色竖向多级向右展开的导航菜单效果
Aug 31 #Javascript
jquery+CSS3实现淘宝移动网页菜单效果
Aug 31 #Javascript
jQuery实现带有洗牌效果的动画分页实例
Aug 31 #Javascript
jquery选择器简述
Aug 31 #Javascript
浅谈javascript的Array.prototype.slice.call
Aug 31 #Javascript
jquery.mousewheel实现整屏翻屏效果
Aug 30 #Javascript
浅谈JavaScript超时调用和间歇调用
Aug 30 #Javascript
You might like
PHP伪静态页面函数附使用方法
2008/06/20 PHP
基于php权限分配的实现代码
2013/04/28 PHP
php实现webservice实例
2014/11/06 PHP
超强的IE背景图片闪烁(抖动)的解决办法
2007/09/09 Javascript
JS array 数组详解
2009/03/22 Javascript
jquery miniui 教程 表格控件 合并单元格应用
2012/11/25 Javascript
如何将一个String和多个String值进行比较思路分析
2013/04/22 Javascript
基于jquery实现发送文章到手机的代码
2014/12/26 Javascript
JavaScript中匿名函数用法实例
2015/03/23 Javascript
jQuery层动画定位滑动效果的方法
2015/04/30 Javascript
情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)
2015/08/21 Javascript
JavaScript实现的MD5算法完整实例
2016/02/02 Javascript
浅析如何利用angular结合translate为项目实现国际化
2016/12/08 Javascript
vuejs绑定class和style样式
2017/04/11 Javascript
Vue.js实现一个SPA登录页面的过程【推荐】
2017/04/29 Javascript
Javascript ES6中对象类型Sets的介绍与使用详解
2017/07/17 Javascript
微信小程序promsie.all和promise顺序执行
2017/10/27 Javascript
js 获取json数组里面数组的长度实例
2017/10/31 Javascript
Vue 项目分环境打包的方法示例
2018/08/03 Javascript
VUE注册全局组件和局部组件过程解析
2019/10/10 Javascript
Javascript如何递归遍历本地文件夹
2020/08/06 Javascript
原生JS实现拖拽效果
2020/12/04 Javascript
[49:41]NB vs NAVI Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
Python最长公共子串算法实例
2015/03/07 Python
python回溯法实现数组全排列输出实例分析
2015/03/17 Python
Python面向对象程序设计之私有属性及私有方法示例
2019/04/08 Python
python将视频转换为全字符视频
2019/04/26 Python
Python的log日志功能及设置方法
2019/07/11 Python
Python利用scapy实现ARP欺骗的方法
2019/07/23 Python
Python类的绑定方法和非绑定方法实例解析
2020/03/04 Python
python 制作磁力搜索工具
2021/03/04 Python
中学实习教师自我鉴定
2013/12/12 职场文书
记帐员岗位责任制
2014/02/08 职场文书
财务部总监岗位职责
2014/03/12 职场文书
党的群众路线教育学习材料
2014/05/12 职场文书
离婚协议书怎么写
2014/09/12 职场文书