源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

jQuery实现级联菜单效果(仿淘宝首页菜单动画)

  • 时间:2021-07-08 23:33 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:jQuery实现级联菜单效果(仿淘宝首页菜单动画)
相信初学HTM+DIV+CSSl的同学们肯定也想做出淘宝网首页的菜单动画吧。今天我们就带大家体会一下级联菜单的显示。小编我只是实现了简单地效果,不过总体来说原理是一样的哦,那么先让大家看看效果图吧。 那么要实现这个效果我们当然要使用到的是jQuery,那么我就开始讲解怎么做的了,先上html和css的代码
[url=../css/menu.css]<script type="text/javascript" src="../js/jquery-1.10.2.js"></script> <script type="text/javascript" src="../js/menu.js"></script> </head> <body> <ul> <li class="menu"> <div class="title"> <span>电脑数码类产品</span> </div> <ul class="content"> <li class="optn"><a href="#">笔记本</a> <ul class="tip"> <li><a href="#">笔记本1</a></li> <li><a href="#">笔记本1</a></li> <li><a href="#">笔记本1</a></li> <li><a href="#">笔记本1</a></li> </ul> </li> <li class="optn"><a href="#">移动硬盘</a> <ul class="tip"> <li><a href="#">移动硬盘1</a></li> <li><a href="#">移动硬盘1</a></li> <li><a href="#">移动硬盘1</a></li> <li><a href="#">移动硬盘1</a></li> </ul> </li> <li class="optn"><a href="#">电脑软件</a> <ul class="tip"> <li><a href="#">电脑软件1</a></li> <li><a href="#">电脑软件1</a></li> <li><a href="#">电脑软件1</a></li> <li><a href="#">电脑软件1</a></li> </ul> </li> <li class="optn"><a href="#">数码产品</a> <ul class="tip"> <li><a href="#">数码产品1</a></li> <li><a href="#">数码产品1</a></li> <li><a href="#">数码产品1</a></li> <li><a href="#">数码产品1</a></li> </ul> </li> </ul> </li> </ul> </body> </html>
menu.css 接下来就是主要的jquery代码:menu.js
[u]复制代码[/u] 代码如下:
$(function(){ var curY;//获取所选想的TOP var curH;//获取所选的Height var curW;//获取所选的width var objL;//获取当前对象 //自定义函数用于获取当前位置 function setInitValue(obj){ curY=obj.offset().top; curH=obj.height(); curW=obj.width(); } //设置当前所选项的鼠标滑动事件 $(".optn").mouseover(function(){ objL=$(this);//获取当前对象 setInitValue(objL); var allY=curY-curH +"px"; objL.addClass("optnFocus"); //获取气元素下的下一个ul $(".tip",this).show().css({"top":allY,"left":curW});; }); $(".optn").mouseout(function(){ $(this).removeClass("optnFocus"); $(".tip",this).hide(); }); //为了防止移到子菜单时子菜单不见,我们也要为子菜单设置鼠标事件 $(".tip").mouseover(function(){ $(this).show(); objL=$(this).prev("li"); setInitValue(objL); objL.addClass("optnFocus"); }); $(".tip").mouseout(function(){ $(this).hide(); $(this).prev("li").removeClass("optnFocus"); }); });
注意要点: 1.由于我们用的是较高版本的jquery文件库,所以有些方法是不支持的,例如获取下一个元素的第一个子元素next(erp),在10.1中是不支持的,所以我换了一种方法$(chiled,select),表示在select的范围进行元素的选择 2.整个效果的实现我们还要为子选项框绑定鼠标事件,目的就是为了不在我们移动到子选项卡中,突然消失。 要实现好看的效果就需要加一些图片和样式,不过原理是一样的哦
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部