javascript - jQuery函数显示2次

标签 javascript jquery

我有以下 jQuery 函数,但我不知道为什么它在我放弃悬停后再次显示。这个概念是,如果类存在,则在加载新菜单(从 1.php 开始)后删除它们,等待 1000 并添加新类。它工作正常,但是当我将鼠标移动到其他方向后,该概念再次运行。为什么?

$(document).ready(function () {
    $("#cikkek").hover(function () {
        $("div.navbar2").removeClass("visible");
        $("div.logo-rotate").removeClass("logo-rotate2");
        $("a.font-visibility").removeClass("font-visible");
        $("div.block1").load("1.php");
        setTimeout(function () {
            $("div.navbar2").addClass("visible");
            $("div.logo-rotate").addClass("logo-rotate2");
            $("a.font-visibility").addClass("font-visible");
        }, 1000);
    });
});

最佳答案

jQuery hover绑定(bind) 2 个事件,mouseentermouseleave,因此它会触发两次。

您可以使用空的 mouseleave 函数,也可以不使用 hover 将其更改为 mouseenter

$("div").mouseenter(function() {
     $(this).css("background-color", "blue");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>

<div>
  Enter your mouse here
</div>

关于javascript - jQuery函数显示2次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38942357/

相关文章:

javascript - IE 中是否有针对 Firefox __proto__ 的相应内容?

javascript - Express Postgres 未处理的 Promise 拒绝警告

javascript - 密码值返回未定义,但使用console.log显示时,用户可以看到

javascript - 不使用 Jquery 检查所有单选按钮

javascript - 我可以从 js 对象中调用函数吗?

javascript - AJAX 完成后无法调用函数

javascript - CSS3 过渡在 setInterval 内时无法设置动画

jQuery 横幅和下拉菜单问题

javascript - 需要正则表达式来访问字符串

javascript - 将div放入 slider