javascript - 只操作鼠标悬停在 jquery 上的元素

标签 javascript jquery html css

我的脚本中有一个函数,用于操纵 html 页面的导航。我的问题是我有多个 <nav>...</nav>代码块,当我使用下面的代码时,它会影响所有代码块。

$(function () {
    $('nav').hover(function () {
        $('nav').animate({ top: '-=100px' }, 1000, 'easeOutBounce', null);
    });
});

因此我假设合乎逻辑的做法是指定哪个导航 block 生成悬停事件,但是在使用 this 时在悬停事件发生时触发的函数内部没有任何反应。

$(function () {
    $('nav').hover(function () {
        this.animate({ top: '-=100px' }, 1000, 'easeOutBounce', null);
    });
});

我如何才能识别和操纵自己悬停的导航 block ,而不是立即影响所有导航 block 。

编辑

例如,如果我有这三个 nav block ,我希望它们仅在 nav 时由函数操作 block 正在悬停,我将如何区分它们。

<nav id="nav1"></nav>
<nav id="nav2"></nav>
<nav id="nav3"></nav>

最佳答案

使用$(this)代替this

$(function () {
    $('nav').hover(function () {
        $(this).animate({top: '-=100px' }, 1000, 'easeOutBounce', null);
    });
});

关于javascript - 只操作鼠标悬停在 jquery 上的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37515596/

相关文章:

jquery:在单元格中附加按钮

javascript - codeigniter 无法正确调用 jquery 中的 Controller 功能

javascript - 获取视口(viewport)像素偏移

javascript - KnockoutJS 3.3.0 绑定(bind)似乎被延迟,直到我按 ENTER

javascript - 将 javascript 编写为 document.getElementById 函数的innerHTML

javascript - 如何组合来自三个不同字段的值,并仅当三个字段都填充了值时才将其设置为隐藏字段?

jquery - 我无法使用 jquery ajax 从单选按钮获取不同的值

javascript - Star 不显示 jquery bar 评级

javascript - jquery 两个 div 使用 'hover' 事件

javascript - 未捕获的语法错误 : Unexpected token <