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 相关文章推荐
如何实现浏览器上的右键菜单
Jul 10 Javascript
彪哥1.1(智能表格)提供下载
Sep 07 Javascript
Colortip基于jquery的信息提示框插件在IE6下面的显示问题修正方法
Dec 06 Javascript
Node.js实战 建立简单的Web服务器
Mar 08 Javascript
JS 获取鼠标左右键的键值方法
Oct 11 Javascript
JavaScript设计模式之单件模式介绍
Dec 28 Javascript
JavaScript实现的字符串replaceAll函数代码分享
Apr 02 Javascript
Jquery注册事件实现方法
May 18 Javascript
JavaScript基础重点(必看)
Jul 09 Javascript
jQuery实现的浮动层div浏览器居中显示效果
Feb 03 Javascript
微信小程序支付功能 php后台对接完整代码分享
Jun 12 Javascript
微信小程序button标签open-type属性原理解析
Jan 21 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实现redis限制单ip、单用户的访问次数功能示例
2018/06/16 PHP
Laravel 框架控制器 Controller原理与用法实例分析
2020/04/14 PHP
jQuery判断当前点击的是第几个li的代码
2014/09/26 Javascript
jQuery实现冻结表格行和列
2015/04/29 Javascript
轻松实现jquery手风琴效果
2016/01/14 Javascript
JavaScript如何实现组合列表框中元素移动效果
2016/03/01 Javascript
bootstrap table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)代码分享
2017/01/24 Javascript
JS查找字符串中出现最多的字符及个数统计
2017/02/04 Javascript
浅谈vue.js中v-for循环渲染
2017/07/26 Javascript
微信小程序实现拖拽 image 触摸事件监听的实例
2017/08/17 Javascript
利用Blob进行文件上传的完整步骤
2018/08/02 Javascript
JointJS流程图的绘制方法
2018/12/03 Javascript
微信小程序canvas截取任意形状的实现代码
2020/01/13 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
2020/04/10 Javascript
解决Echarts2竖直datazoom滑动后显示数据不全的问题
2020/07/20 Javascript
JavaScript交换变量常用4种方法解析
2020/09/02 Javascript
微信小程序tab左右滑动切换功能的实现代码
2021/02/08 Javascript
为Python的web框架编写前端模版的教程
2015/04/30 Python
Python批量按比例缩小图片脚本分享
2015/05/21 Python
Python MySQL数据库连接池组件pymysqlpool详解
2017/07/07 Python
Python求出0~100以内的所有素数
2018/01/23 Python
用Django实现一个可运行的区块链应用
2018/03/08 Python
Python实现的端口扫描功能示例
2018/04/08 Python
dataframe设置两个条件取值的实例
2018/04/12 Python
详解python分布式进程
2018/10/08 Python
详解pandas如何去掉、过滤数据集中的某些值或者某些行?
2019/05/15 Python
解决pycharm运行程序出现卡住scanning files to index索引的问题
2019/06/27 Python
Django使用模板后无法找到静态资源文件问题解决
2019/07/19 Python
美国时尚配饰品牌:Dooney & Bourke
2017/11/14 全球购物
法国在线购买汽车轮胎网站:123pneus.fr
2019/02/25 全球购物
加工操作管理制度
2014/01/19 职场文书
感恩之星事迹材料
2014/05/03 职场文书
商场周年庆活动方案
2014/08/19 职场文书
明确岗位职责
2015/02/14 职场文书
初中数学教学随笔
2015/08/15 职场文书
vue报错function () { [native code] },无法出现我们想要的内容 Unknown custom element
2022/04/11 Vue.js