<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <style type="text/css"> body{ font-size:100%; font-family:"Microsoft YaHei","Arial"; background:#fff;} #nav{ position:relative; width:832px; _width:835px; margin:100px auto 0 auto; border-bottom:2px #ddd solid;} #nav .nav-menu{ height:50px;} #nav .nav-menu a{ display:block; float:left; height:50px; padding:0 40px; line-height:50px; color:#666; font-size:16px; text-decoration:none;} #nav .nav-current{ position:absolute; bottom:-2px; height:2px; overflow:hidden; background:#80b600;} </style> <script type="text/javascript" src="http://www.webskys.com/skin/tomato/js/jquery.js"></script> <script type="text/javascript"> $(function(){ var cur_width=$(".current").innerWidth();//当前a的宽度 var cur_left=$(".current").position().left;//当前a的左位置 $(".nav-current").css({width:cur_width,left:cur_left})//当前的底部线 $("#nav").find("a").hover( function(){ $(".nav-current").stop().animate( {left: $(this).position().left, width: $(this).innerWidth },300); } , function() { $(".nav-current").stop().animate({ width:cur_width,left:cur_left } , 300); } ) }) </script> </head> <body> <div id="nav"> <div class="nav-menu"> <a href="#">首页</a> <a href="#" class="current">了解我们</a> <a href="#">产品展示</a> <a href="#">服务报价</a> <a href="#">最新消息</a> <a href="#">联系方式</a> </div> <div class="nav-current"></div> </div> </body> </html>
初始效果图
当鼠标放到a上时,绿色的线会动画移动到该a下
知识点:
hover(over,out)一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法。这是一个自定义的方法,它为频繁使用的任务提供了一种“保持在其中”的状态。
当鼠标移动到一个匹配的元素上面时,会触发指定的第一个函数。当鼠标移出这个元素时,会触发指定的第二个函数。而且,会伴随着对鼠标是否仍然处
在特定元素中的检测(例如,处在div中的图像),如果是,则会继续保持“悬停”状态,而不触发移出事件(修正了使用mouseout事件的一个常见错
误)。
参数 :
over (Function) : 鼠标移到元素上要触发的函数
out (Function): 鼠标移出元素要触发的函数
示例 :
鼠标悬停的表格加上特定的类
jQuery 代码:
$("td").hover( function () { $(this).addClass("hover"); }, function () { $(this).removeClass("hover"); } );