JS实现导航条效果——current跟随鼠标hover移动

<!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>

 

初始效果图

JS实现导航条效果——current跟随鼠标hover移动

当鼠标放到a上时,绿色的线会动画移动到该a下


 

知识点:

  hover(over,out)一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法。这是一个自定义的方法,它为频繁使用的任务提供了一种“保持在其中”的状态。
     

  当鼠标移动到一个匹配的元素上面时,会触发指定的第一个函数。当鼠标移出这个元素时,会触发指定的第二个函数。而且,会伴随着对鼠标是否仍然处 在特定元素中的检测(例如,处在div中的图像),如果是,则会继续保持“悬停”状态,而不触发移出事件(修正了使用mouseout事件的一个常见错 误)。

参数 :
  over (Function) : 鼠标移到元素上要触发的函数
  out (Function): 鼠标移出元素要触发的函数

示例 :
鼠标悬停的表格加上特定的类

jQuery 代码: 

$("td").hover(
  function () {
    $(this).addClass("hover");
  },
  function () {
    $(this).removeClass("hover");
  }
);

 

 

JS实现导航条效果——current跟随鼠标hover移动,布布扣,bubuko.com

JS实现导航条效果——current跟随鼠标hover移动

上一篇:CrossApp简介


下一篇:IOS的一个关于球碰撞的小游戏