jQuery弹性滑动导航菜单
弹性滑动导航菜单现在已经不新鲜了,很多地方都能看到这种效果。这种菜单最大的亮点在于用户体验,它能清楚明确的指出你目前移动到了哪项菜单上,减少误点击。本人对这种效果比较有印象的是淘宝 UED 的一款 WordPress 主题,不过那是几年前的事情了,早就换掉了。
制作方法
引入文件
<script src="js/jquery-1.7.2.min.js"></script>
HTML
<div id="nav"> <div class="nav-menu"> <a href="#" class="current">首页</a> <a href="#">了解我们</a> <a href="#">产品展示</a> <a href="#">服务报价</a> <a href="#">最新消息</a> <a href="#">联系方式</a> </div> <div class="nav-current"></div> </div>
CSS
#nav { position:relative; margin:100px auto 0 auto; width:832px; border-bottom:2px #ddd solid; _width:835px; } #nav .nav-menu { height:50px; } #nav .nav-menu a { float:left; display:block; padding:0 40px; height:50px; color:#666; text-decoration:none; font-size:16px; line-height:50px; } #nav .nav-current { position:absolute; bottom:-2px; overflow:hidden; height:2px; background:#80b600; }
JavaScript
$(function(){ (function(){ var $navcur = $(".nav-current"); var $nav = $("#nav"); var current = ".current"; var itemW = $nav.find(current).innerWidth(); //默认当前位置宽度 var defLeftW = $nav.find(current).position().left; //默认当前位置Left值 //添加默认下划线 $navcur.css({width:itemW,left:defLeftW}); //hover事件 $nav.find("a").hover(function(){ var index = $(this).index(); //获取滑过元素索引值 var leftW = $(this).position().left; //获取滑过元素Left值 var currentW = $nav.find("a").eq(index).innerWidth(); //获取滑过元素Width值 $navcur.stop().animate({ left: leftW, width: currentW },300); },function(){ $navcur.stop().animate({ left: defLeftW, width: itemW },300) }) })(); });
下载地址
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-