0

问题:只获取动画的第一部分。它不会运行悬停动画。这个想法是让底部在悬停时向上或向下移动。

在这个网站上工作: http ://ripsraps.com/daniel/

使用此脚本为导航栏设置动画:http: //net.tutsplus.com/tutorials/javascript-ajax/how-to-create-a-mootools-homepage-inspired-navigation-effect-using-jquery/

这是jQuery:

$(document).ready(function()
{
    slide("#sliding-navigation", 25, 15, 150, .8);
});

function slide(navigation_id, pad_out, pad_in, time, multiplier)
{
    var list_elements = navigation_id + " li.sliding-element";
    var link_elements = list_elements + " a";
    var timer = 0;
    $(list_elements).each(function(i)
    {

        $(this).css("margin-top","-180px");
        timer = (timer*multiplier + time);
        $(this).animate({ marginTop: "0" }, timer);
        $(this).animate({ marginTop: "15px" }, timer);
        $(this).animate({ marginTop: "0" }, timer);
    });     
    $(link_elements).each(function(i)
    {
        $(this).hover(
        function()
        {
            $(this).animate({ paddingTop: pad_out }, 150);
        },      
        function()
        {
            $(this).animate({ paddingTop: pad_in }, 150);
        });
    });
}

PS:我不懂fiddle,不会给出任何fiddle链接。

4

1 回答 1

0

现在您的动画正在应用,正如您在 Chrome 调试器中检查代码时所看到的那样。它只是没有显示,因为您没有正确应用它。

我认为您应该将悬停效果应用于 list_elements 而不是 link_elements。我也会使用 marginTop 来制作动画,而不是 paddingTop。

PS:小提琴并不难,你真的应该尝试一次。

于 2012-08-03T19:25:58.333 回答