效果展示:
下面是代码:
CSS: * { margin: 0; padding: 0; list-style: none; text-decoration: none; } .menu { margin: auto; width: 400px; height: 40px; background: #60AC02; box-shadow: 0 0 2px; } .menu ul { width: 400px; height: 40px; background: #60AC02; position: relative;/* 必要 */ margin: 0 auto; } .menu ul li { float: left; } .menu ul li a { display: block; padding: 0 10px; line-height: 40px; font-size: 14px; font-weight:bold; color: #fff; } .menu .block { width: 77px; height: 2px; background: #fff; position: absolute; bottom: 0px; left: 0; z-index: 99; }
JQuery:代码
<script type="text/javascript"> $(function() { var _ke, _leftX, _newWidth, _speed = 200; //添加节点 $('.menu ul').append('<div class="block"></div>'); var block = $('.block'); //默认第一个 (如果不想默认回到第一个就注释下面这行代码,修改一下.menu .block{ width:77px}的值); block.width($(".current").width()).css('left', $('.current a').position().left).data('rightLeft', block.position().left).data('rightWidth', block.width()); //获取偏移值,宽度 ->赋值给动画 $('.menu ul li').find('a').hover(function() { _ke = $(this); _leftX = _ke.position().left; _newWidth = _ke.parent().width(); //动画 block.stop().animate({ left: _leftX, width: _newWidth },_speed); }, function() { block.stop().animate({ left: block.data('rightLeft'), width: block.data('rightWidth') },_speed) }) }) </script>
HTML代码:
<div class="menu"> <ul> <li class="current"><a href="http://www.blogxuan.com/">玄玄博客</a></li> <li><a href="http://www.blogxuan.com/">PHP</a></li> <li><a href="http://www.blogxuan.com/">JS/HTML</a></li> <li><a href="http://www.blogxuan.com/">新闻资讯</a></li> <li><a href="http://www.blogxuan.com/">网站案例</a></li> </ul> </div>
比上一篇文章发布的效果更加灵活了点!
玄玄博客 :http://www.blogxuan.com/