基于jQuery实现的菜单切换效果_jquery

这是一个非常流畅的菜单展示效果,应用在亚马逊上,当你上下移动鼠标的时候,二级菜单会非常轻快的切换,没有任何延时,给用户如滑丝般的感觉。这种效果借助于一款jQuery插件menu-aim,本文将结合实例讲解如何实现速度超快的菜单效果。

HTML
首先建立主菜单,我们借用电商网站常见的商品分类。其html结构代码如下,其中我们用到了html5的data-submenu-id属性设置,这在插件调用时非常有用。

<div class="active">
  <ul class="dropdown-menu" role="menu">
    <li data-submenu-id="submenu-patas"><a href="#">服装服饰</a></li>
    <li data-submenu-id="submenu-snub-nosed"><a href="#"> 箱包配饰</a></li>
    <li data-submenu-id="submenu-duoc-langur"><a href="#">数码家电</a></li>
    <li data-submenu-id="submenu-pygmy"><a href="#">美容护发</a></li>
    <li data-submenu-id="submenu-tamarin"><a href="#">母婴用品</a></li>
    <li data-submenu-id="submenu-monk"><a href="#">家居建材</a></li>
    <li data-submenu-id="submenu-gabon"><a href="#">食品百货</a></li>
    <li data-submenu-id="submenu-grivet"><a href="#">户外汽车</a></li>
    <li data-submenu-id="submenu-red-leaf"><a href="#">文化玩乐</a></li>
    <li data-submenu-id="submenu-king-colobus"><a href="#">生活服务</a></li>
  </ul>
</div>

子菜单与主菜单对应,每一个子菜单的id属性值必须与主菜单的data-submenu-id属性值对应,子菜单内容可以为任意html标签代码,p,img,audio都可以,格式如下:

<div id="submenu-patas" class="popover">
任意html代码
</div> 

CSS
我们将主菜单dropdown-menu位置固定,子菜单popover默认隐藏,通过css3技术可以设置菜单阴影圆角效果,子菜单内容的css可以根据需要自由发挥。

.active{position:relative}
.dropdown-menu { position: absolute;
 z-index: 1000;float: left;
 min-width: 120px;padding: 5px 0;margin: 2px 0 0;list-style: none;
 background-color: #ffffff;border: 1px solid #ccc;
 -webkit-border-radius: 6px;-moz-border-radius: 6px;border-radius: 6px;
 -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow: 0 5px 10px
rgba(0, 0, 0, 0.2);box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.dropdown-menu li{height:24px; line-height:24px; text-align:center}
.dropdown-menu li a{display:block}
.dropdown-menu li a:hover{color:#fff; text-decoration:none; background:#39f}
.popover {
 position: absolute;top: 0;left: 0; z-index: 1010;display: none;
 width: 320px;-webkit-border-radius: 6px;-moz-border-radius: 6px;border-radius: 6px;
 -webkit-border-top-left-radius: 0px;-webkit-border-bottom-left-radius: 0px;
 border-top-left-radius: 0px;border-bottom-left-radius: 0px;overflow: hidden;
 padding: 1px 1px 1px 15px;text-align: left;white-space: normal;
 background-color: #fff;border: 1px solid #ccc;
 border: 1px solid rgba(0, 0, 0, 0.2);
 webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);-moz-box-shadow: 0 5px 10px
rgba(0, 0, 0, 0.2);box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
} 

jQuery
下面我们隆重推出jquery.menu-aim.js,该插件是一款基于jQuery的菜单插件,插件作者关注了用户体验并精于算法,根据鼠标轨迹,将菜单切换效果实现得淋漓精致,该插件“超快”的反应效果是不是让我们有中“超爽”的感觉?插件地址:
使用$(element).menuAim()调用jquery.menu-aim.js,当鼠标触发主菜单时调用自定义函数activateSubmenu(),当离开主菜单时调用自定义函数deactivateSubmenu()。

$(function(){
   $(".dropdown-menu").menuAim({
      activate: activateSubmenu,//触发主菜单,显示子菜单
      deactivate: deactivateSubmenu //离开主菜单,隐藏子菜单
   });
}); 

如上调用就可以完成子菜单间的快速切换,jquery.menu-aim.js还提供其他几种方法,enter()和exit(),都是控制鼠标移入移出、调用函数等。
接下来,我们写上自定义函数

var $menu = $(".dropdown-menu"); 

function activateSubmenu(row) {
  var $row = $(row),
  submenuId = $row.data("submenuId"),
  $submenu = $("#" + submenuId),
  offset = $menu.offset(),
  height = $menu.outerHeight(),
  width = $menu.outerWidth(); 

  $submenu.css({ //设置子菜单样式
     display: "block", //显示子菜单
     top: offset.top,
     left: offset.left + width - 5,
     height: height - 4
  });
  //设置主菜单样式(鼠标滑向主菜单时)
  $row.find("a").addClass("maintainHover");
} 

function deactivateSubmenu(row) {
  var $row = $(row),
  submenuId = $row.data("submenuId"),
  $submenu = $("#" + submenuId); 

  $submenu.css("display", "none"); //隐藏子菜单
  $row.find("a").removeClass("maintainHover");恢复主菜单样式
} 

怎么样,你也可以做一个amazon.cn式的菜单效果了,以上就是本文的全部内容,希望本文对大家学习jquery有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索jquery实现tab切换
, jquery菜单切换
jquery切换效果
jquery 实现菜单切换、jquery实现tab切换、jquery实现下拉菜单、jquery实现选项卡切换、jquery实现图片切换,以便于您获取更多的相关知识。

时间: 2024-10-03 08:27:36

基于jQuery实现的菜单切换效果_jquery的相关文章

基于jquery hwSlider-内容滑动切换效果

本次教程分三个部分:1.使用jQuery开发基本的内容滑动切换效果,2.支持移动端触控自适应的内容滑动切换效果,3.封装内容滑动切换效果jQuery插件.本文讲解第一部分,后面两部分会在接下来的文章中陆续发布,敬请关注. 本文将结合实例实现内容滑动切换的基本效果,包括: 左右箭头切换 无限无缝滚动 圆点按钮切换 动画效果 自动切换 HTML 首先准备HTML结构,整个滑动区域用#hwslider包裹,包括滑块内容,滑块使用ul li组织内容,滑块内容可以是图片.文字等任意HTML内容.#dots

基于jquery实现图片幻灯片切换效果

选项卡式的内容切换效果,应用的场景比较多,用JavaScript是如何实现的不是我们今天说的重点.如果我们的"选项卡式的内容切换效果"在禁用JavaScript的情况下是否可以正常运行?是否可以满足用户的基本需求?是我们讨论的重点. 不过此情况放在中国的用户群体是不会有禁用JavaScript 的情况.但是我们不能放弃我们追求完美的精神.    代码如下 复制代码 The CSS Code :  /**重置样式**/     *{margin:0;padding:0;}  body{f

基于JQuery制作的产品广告效果_jquery

效果图.如下: 动画效果介绍:这组广告效果是打开页面后图片会自动播放,从1-5共计5张图片,如果属标放到右下角的1.2.3.4.5列表上,可以自由进行切换到自己想看的图片上去.图片切换是由下到上变换的.制作思路:先将这5张图片分别放入到ul的5个li列表中, <1>求出图片个的总个数. 并当我们如果在单击1.2.3.4.5时就将它对应的数字传过去,就它显示对应的图片. <2>如果属标放上,就停止动画(可以利用clearIntval() ),如果属标移到,我们可以利用 setIntv

jquery图片上下tab切换效果_jquery

复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <script src="http://demo.jb51.net

基于 jquery ImageScroll 实现图片切换效果

 代码如下 复制代码 (function($){ $.fn.ImageScroll = function(options) { var defaults = { delay: 2000, maskOpacity: 0.6, numOpacity: 0.6, maskBgColor: "#000", textColor: "#fff", numColor: "#fff", numBgColor: "#000", alterCol

基于jquery的热点内容轮换效果_jquery

王牌栏目 Regular features 世界最美哇!好玩穷游世界周末驾到 少女傲人双峰自拍 日本酥胸美女杉原杏 性感美女黑色内衣 绝美性感黑丝美眉

jquery的幻灯片图片切换效果代码分享_jquery

本文实例讲述了jquery的幻灯片图片切换效果.分享给大家供大家参考.具体如下: 这是一款基于jquery的幻灯片图片切换效果代码,有缩略图和标题,可以自定义标题. 运行效果图:     -------------------查看效果 下载源码------------------- 小提示:浏览器中如果不能正常运行,可以尝试切换浏览模式. (1)在head区域引入CSS样式: <LINK rel=stylesheet type=text/css href="css/lrtk.css&quo

基于jquery淘宝商城快速导航菜单切换效果

这是一个非常流畅的菜单展示效果,应用在亚马逊(amazon.cn)上,当你上下移动鼠标的时候, 二级菜单会非常轻快的切换,没有任何延时,给用户如滑丝般的感觉. 这种效果借助于一款jQuery插件menu-aim,本文将结合实例讲解如何实现速度超快的菜单效果. 效果图片 实例代码  代码如下 复制代码 <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta name=&qu

jquery菜单切换效果代码

我们先来看效果代码 HTML 首先建立主菜单,我们借用电商网站常见的商品分类.其html结构代码如下,其中我们用到了html5的data-submenu-id属性设置,这在插件调用时非常有用.  代码如下 复制代码 <div class="active">      <ul class="dropdown-menu" role="menu">          <li data-submenu-id="su