javascript - 我们如何在将鼠标悬停在子导航上时停止 Jquery 动画?

标签 javascript jquery html css

要求:

示例链接: http://jtstratford.advisorproducts.com/overview

在这个页面上,当我们将鼠标悬停在主导航上时,它们下面的黄线会随着鼠标移动或移动,这是可以的。

但是我们能否让它只在您将鼠标悬停在主要导航上时移动?如果说我将鼠标悬停在投资上并转到 Advisors v Brokers 的子导航,黄色条应保留在 Investments 下,它不会随子导航一起移动。

JS代码如下:

// DOM Ready
$(function () {

    var $el, leftPos, newWidth;

    /* Add Magic Line markup via JavaScript, because it ain't gonna work without */
    $("#magicLine").append("<li id='magic-line'></li>");

    /* Cache it */
    var $magicLine = $("#magic-line");

    $magicLine
        .width($(".selectednav").width())
        .css("left", $(".selectednav a").position().left)
        .data("origLeft", $magicLine.position().left)
        .data("origWidth", $magicLine.width());

    $("#magicLine li").find("a").hover(function () {
        $el = $(this);
        leftPos = $el.position().left;
        newWidth = $el.parent().width();

        $magicLine.stop().animate({
            left: leftPos,
            width: newWidth
        });
    }, function () {
        $magicLine.stop().animate({
            left: $magicLine.data("origLeft"),
            width: $magicLine.data("origWidth")
        });
    });
});

最佳答案

您的选择器是错误的,您正在查询 #magicLine 内 li 标签中的所有 anchor 。这可能有效:

$("#magicLine > li").children("a")

关于javascript - 我们如何在将鼠标悬停在子导航上时停止 Jquery 动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13739169/

相关文章:

javascript - 如何动态获取div的内容宽度?

html - 在移动设备和桌面设备上显示不同的 Logo ?

Javascript 简单的 onclick 图像交换

javascript - 为什么在这种情况下原生 promise 似乎比 chrome 中的回调更快?

javascript - IE8 中的 jQuery 动态表单创建无法处理大量数据

html - 垂直滚动条绝对位置

Javascript 通过文本框进行实时计算

javascript - 访问服务器端共享变量

javascript - 使用 jQuery 调整表列大小

javascript - Jquery 如果它的第一次元素被点击