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 相关文章推荐
js 父窗口控制子窗口的行为-打开,关闭,重定位,回复
Apr 20 Javascript
Javascript面向对象编程(三) 非构造函数的继承
Aug 28 Javascript
利用Javascript判断操作系统的类型实现不同操作系统下的兼容性
Jan 29 Javascript
Javascript中的for in循环和hasOwnProperty结合使用
Jun 05 Javascript
jQuery点击自身以外地方关闭弹出层的简单实例
Dec 24 Javascript
AngularJS service之select下拉菜单效果
Jul 28 Javascript
基于vue打包后字体和图片资源失效问题的解决方法
Mar 06 Javascript
浅谈关于iview表单验证的问题
Sep 29 Javascript
vue实现的下拉框功能示例
Jan 29 Javascript
bootstrap-table后端分页功能完整实例
Jun 01 Javascript
vue中使用vue-pdf的方法详解
Sep 05 Javascript
jQuery实现动态向上滚动
Dec 21 jQuery
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网站被挂木马后的修复方法总结
2014/11/06 PHP
php获取服务器操作系统相关信息的方法
2016/10/08 PHP
PHP判断数组是否为空的常用方法(五种方法)
2017/02/08 PHP
php实现姓名根据首字母排序的类与方法(实例代码)
2018/05/16 PHP
javascript延时重复执行函数 lLoopRun.js
2007/06/29 Javascript
IE之动态添加DOM节点触发window.resize事件
2010/07/27 Javascript
Javascript添加监听与删除监听用法详解
2014/12/19 Javascript
jQueryMobile之Helloworld与页面切换的方法
2015/02/04 Javascript
jquery实现页面百叶窗走马灯式翻滚显示效果的方法
2015/03/12 Javascript
JavaScript通过字符串调用函数的实现方法
2015/03/18 Javascript
简介alert()与console.log()的不同
2015/08/26 Javascript
有关jquery与DOM节点操作方法和属性记录
2016/04/15 Javascript
JavaScript中闭包的写法和作用详解
2016/06/29 Javascript
Bootstrap和Java分页实例第二篇
2016/12/23 Javascript
详谈Angular路由与Nodejs路由的区别
2017/03/05 NodeJs
荐书|您有一份JavaScript书单待签收
2017/07/21 Javascript
基于jQuery的表单填充实例
2017/08/22 jQuery
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
2017/09/07 Javascript
vue鼠标悬停事件实例详解
2019/04/01 Javascript
vue中axios的二次封装实例讲解
2019/10/14 Javascript
原生Vue 实现右键菜单组件功能
2019/12/16 Javascript
eslint+prettier统一代码风格的实现方法
2020/07/22 Javascript
Python数据类型详解(二)列表
2016/05/08 Python
使用Python的Flask框架来搭建第一个Web应用程序
2016/06/04 Python
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
2017/09/22 Python
python九九乘法表的实例
2017/09/26 Python
python2.7安装图文教程
2018/03/13 Python
windows下python安装pip图文教程
2018/05/25 Python
关于tf.nn.dynamic_rnn返回值详解
2020/01/20 Python
HTML5拍照和摄像机功能实战详解
2019/01/24 HTML / CSS
幼儿园实习自我鉴定
2013/12/15 职场文书
《北京的春节》教学反思
2014/04/07 职场文书
写给纪委的违纪检讨书
2015/05/05 职场文书
正确使用MySQL INSERT INTO语句
2021/05/26 MySQL
SpringBoot SpringEL表达式的使用
2021/07/25 Java/Android
Python中itertools库的四个函数介绍
2022/04/06 Python