<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title> jquery滑动导航</title> <style> *{margin: 0;padding: 0;box-sizing: border-box;-moz-box-sizing: border-box;} body { font: 16px/20px 'Microsoft yahei,微软雅黑'; color: #AFBBBB; } ul { list-style-type: none; } ul li { float: left; } a { text-decoration: none; color: #AFBBBB; } a:hover { color: #ffffff; cursor: pointer; } .clearfix:before,.clearfix:after { content:""; clear: both; display: table; height: 0; zoom: 1; overflow: hidden; } .nav { width:519px; margin: 0 auto; } .nav ul { background: gray; height: 35px; line-height: 35px; position: relative; padding: 0 5px; } .nav ul li { position: relative; padding: 0 25px; } .nav ul li>a { position: relative; z-index: 100; /*将a元素的z-index设置比li大,这样hover效果才不会无效*/ } .nav ul li:last-child { width: 98px; height: 90%; position: absolute; z-index: 50; left: 5px; bottom: 0; top: 0; margin: auto; background: rgba(152,206,170,0.5); border-radius: 5px; } </style> </head> <body> <div> <ul> <li><a href="javascript:void(0)" >幼儿园</a></li> <li><a href="javascript:void(0)" >小学</a></li> <li><a href="javascript:void(0)" >初中</a></li> <li><a href="javascript:void(0)" >高中</a></li> <li><a href="javascript:void(0)" >大学</a></li> <li><a href="javascript:void(0)" >社会</a></li> <li></li> </ul> </div> <script src="https://cdn.bootcss.com/jquery/2.1.0/jquery.js"></script> <script> $(function(){ $("ul li:not(:last)").hover(function(){ $("#huaBlock").stop(); //停止正在运行的动画 var curliWidth=$(this).outerWidth(),curleft=$(this).offset().left-$(this).parent().offset().left; //当前li的偏移量减去当前ul的偏移量就是li距离ul的距离 // alert("curleft:"+curleft); $("#huaBlock").animate({"width":curliWidth,"left":curleft},500); },function(){ $("#huaBlock").stop(); $("#huaBlock").animate({"width":98,"left": 5},200); }); }); </script> </body> </html>
使用在线HTML/CSS/JavaScript代码运行工具 测试运行效果如下:
更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery切换特效与技巧总结》、《jQuery扩展技巧总结》、《jQuery常用插件及用法总结》、《jQuery拖拽特效与技巧总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》及《jquery选择器用法总结》