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 相关文章推荐
Aptana调试javascript图解教程
Nov 30 Javascript
jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效
Apr 12 Javascript
JavaScript简单验证表单空值及邮箱格式的方法
Jan 20 Javascript
tablesorter.js表格排序使用方法(支持中文排序)
Feb 10 Javascript
原生js实现瀑布流布局
Mar 08 Javascript
解决IE7中使用jQuery动态操作name问题
Aug 28 jQuery
jQuery实现的监听导航滚动置顶状态功能示例
Jul 23 jQuery
详解超简单的react服务器渲染(ssr)入坑指南
Feb 28 Javascript
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
Mar 13 Javascript
JS中getElementsByClassName与classList兼容性问题解决方案分析
Aug 07 Javascript
vue 封装 Adminlte3组件的实现
Mar 18 Javascript
JavaScript 接口原理与用法实例详解
May 12 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
这东西价格,可以买几台TECSUN S-2000
2021/03/02 无线电
通过修改配置真正解决php文件上传大小限制问题(nginx+php)
2015/09/23 PHP
如何写php守护进程(Daemon)
2015/12/30 PHP
Zend Framework动作助手Url用法详解
2016/03/05 PHP
php从数据库中获取数据用ajax传送到前台的方法
2018/08/20 PHP
关于Laravel-admin的基础用法总结和自定义model详解
2019/10/08 PHP
使用jQuery同时控制四张图片的伸缩实现代码
2013/04/19 Javascript
jQuery实现动态表单验证时文本框抖动效果完整实例
2015/08/21 Javascript
浅析angularJS中的ui-router和ng-grid模块
2016/05/20 Javascript
避免jQuery名字冲突 noConflict()方法
2016/07/30 Javascript
Jquery组件easyUi实现选项卡切换示例
2016/08/23 Javascript
自动适应iframe右边的高度
2016/12/22 Javascript
node.js调用Chrome浏览器打开链接地址的方法
2017/05/17 Javascript
webpack实用小功能介绍
2018/01/02 Javascript
Bootstrap treeview实现动态加载数据并添加快捷搜索功能
2018/01/07 Javascript
JS实现的Object数组去重功能示例【数组成员为Object对象】
2019/02/01 Javascript
ES10的13个新特性示例(小结)
2019/09/23 Javascript
如何在vue 中引入使用jquery
2020/11/10 jQuery
[04:32]DOTA2著名解说配音敌法师 现场专访海涛怒切假腿
2013/12/20 DOTA
python机器学习之随机森林(七)
2018/03/26 Python
Python中实例化class的执行顺序示例详解
2018/10/14 Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
2019/02/13 Python
python3.6+selenium实现操作Frame中的页面元素
2019/07/16 Python
Python之数据序列化(json、pickle、shelve)详解
2019/08/30 Python
美国开幕式潮店:Opening Ceremony
2018/02/10 全球购物
I.T中国官网:精选时尚设计师单品网购平台
2018/03/26 全球购物
土耳其新趋势女装购物网站:Addax
2020/01/07 全球购物
申报职称专业技术个人的自我评价
2013/12/12 职场文书
周鸿祎:教你写创业计划书
2013/12/30 职场文书
《蒲公英》教学反思
2014/02/28 职场文书
安全月活动总结
2014/05/05 职场文书
学生党员批评与自我批评
2014/10/15 职场文书
小学一年级数学教学计划
2015/01/20 职场文书
撤诉申请怎么写
2015/05/19 职场文书
《狼牙山五壮士》读后感:宁死不屈,视死如归
2019/08/16 职场文书
vue css 相对路径导入问题级踩坑记录
2022/06/05 Vue.js