jQuery 弹性导航代码原理

1520 查看

先放上代码

$(function() {
    var nav = $("#nav");
    var navLine = nav.find(".nav-line");
    var defLineW = nav.find(".current").width();
//获取当前位置偏移和宽度
    var defLineLeft = nav.find(".current").position().left;
    navLine.css({
        left: defLineLeft,
        width: defLineW
    });
//定义当前位置
    nav.find("li").hover(function() {
        var index = $(this).index();
        var curLineW = nav.find("li").eq(index).width();
        var curLineLeft = $(this).position().left;
        //alert(curLineLeft);
        navLine.stop().animate({
            left: curLineLeft,
            width: curLineW
        },
        300);
    },
    function() {
        navLine.stop().animate({
            left: defLineLeft,
            width: defLineW
        },
        300);
    })
})