0

这是我正在谈论的网站:http: //benjaminpotter.org/clients/c3carlingford/


因此,我正在构建一个菜单,当您将鼠标悬停在菜单项上时会出现弹出窗口:

在此处输入图像描述

所以我写了一个 javascript (jQuery) 函数来动画它:

$(".info").css({"opacity": "0", "margin-top": "10px"}).hide(0);

$("#menu-item-51").mouseenter(function(){

    $(".nav1").stop(0).show(0).delay(300).animate({"opacity": "1", "margin-top": "-3px"}, {"duration": (250)});

});

$("#menu-item-51").mouseleave(function(){

    $(".nav1").stop(0).show(0).delay(0).animate({"opacity": "0", "margin-top": "10px"}, {"duration": (150)});

});

$("#menu-item-11").mouseenter(function(){

    $(".nav2").stop(0).show(0).delay(300).animate({"opacity": "1", "margin-top": "-3px"}, {"duration": (250)});

});

$("#menu-item-11").mouseleave(function(){

    $(".nav2").stop(0).show(0).delay(0).animate({"opacity": "0", "margin-top": "10px"}, {"duration": (150)});

});

$("#menu-item-12").mouseenter(function(){

    $(".nav3").stop(0).show(0).delay(300).animate({"opacity": "1", "margin-top": "-3px"}, {"duration": (250)});

});

$("#menu-item-12").mouseleave(function(){

    $(".nav3").stop(0).show(0).delay(0).animate({"opacity": "0", "margin-top": "10px"}, {"duration": (150)});

});

$("#menu-item-13").mouseenter(function(){

    $(".nav4").stop(0).show(0).delay(300).animate({"opacity": "1", "margin-top": "-3px"}, {"duration": (250)});

});

$("#menu-item-13").mouseleave(function(){

    $(".nav4").stop(0).show(0).delay(0).animate({"opacity": "0", "margin-top": "10px"}, {"duration": (150)});

});

$("#menu-item-14").mouseenter(function(){

    $(".nav5").stop(0).show(0).delay(300).animate({"opacity": "1", "margin-top": "-3px"}, {"duration": (250)});

});

$("#menu-item-14").mouseleave(function(){

    $(".nav5").stop(0).show(0).delay(0).animate({"opacity": "0", "margin-top": "10px"}, {"duration": (150)});

});

$("#menu-item-15").mouseenter(function(){

    $(".nav6").stop(0).show(0).delay(300).animate({"opacity": "1", "margin-top": "-3px"}, {"duration": (250)});

});

$("#menu-item-15").mouseleave(function(){

    $(".nav6").stop(0).show(0).delay(0).animate({"opacity": "0", "margin-top": "10px"}, {"duration": (150)});

});

所以首先存在的问题是它有很多代码......但它有效......

那么问题是什么?

问题是这样的:

在此处输入图像描述

当您在所有链接上向后和第四个鼠标时,它会级联。酷我知道,但客户不喜欢它。我也不。

那么如何更改它以使其表现更好呢?

我希望它像这样工作:

在此处输入图像描述

他们的下拉菜单不一样:鼠标悬停,级联的东西......

你可以在这里查看他们的网站:http: //thecity.org/

4

2 回答 2

1

在您的mouseleave活动中,我将使用.hide()jQuery 中的方法。我只是假设您想在离开菜单项后隐藏元素?

我做了一个快速的小提琴来说明这个问题。点击这里查看结果

祝你好运!

于 2012-02-18T06:31:56.073 回答
1

尝试更改代码stop(0)stop(true, true)的所有位置。它应该按预期工作。

true将两个参数都传递给stop方法可确保它清除先前动画的队列,并在它们仍在动画时强制快速完成它们。

stop(clearQueue, jumpToEnd)- 停止匹配元素上当前正在运行的动画。

于 2012-02-18T06:38:28.450 回答