加载页面时,若鼠标位于菜单上,则Javascript菜单行为会反转

加载页面时,若鼠标位于菜单上,则Javascript菜单行为会反转,javascript,jquery,Javascript,Jquery,我对我的javascript菜单越来越着迷了。该网站是开放的,菜单是一个javascript下拉菜单,带有ajax加载。我试图解决一个非常烦人的问题:当页面加载时,如果鼠标(意外地)在菜单上,菜单的行为是相反的:正常状态打开,悬停状态关闭 你可以使用Chrome在网站上进行直播 我想自己解决这个问题(我是一名rails开发人员,但我正在学习js),但我不明白,如果在页面末尾加载并执行js,那么页面加载时的行为会发生变化 添加了代码:这是问题是,我想,在加载时,您不会在导航上看到mouseente

我对我的javascript菜单越来越着迷了。该网站是开放的,菜单是一个javascript下拉菜单,带有ajax加载。我试图解决一个非常烦人的问题:当页面加载时,如果鼠标(意外地)在菜单上,菜单的行为是相反的:正常状态打开,悬停状态关闭

你可以使用Chrome在网站上进行直播

我想自己解决这个问题(我是一名rails开发人员,但我正在学习js),但我不明白,如果在页面末尾加载并执行js,那么页面加载时的行为会发生变化


添加了代码:这是

问题是,我想,在加载时,您不会在导航上看到
mouseenter
事件

然后,在
mouseleave
上,您将看到事件并转身

您依赖于
.hasClass('animating')
,这可能会使其翻转


我非常想打开
.hasClass()
或打开
状态==打开/关闭

错误代码在第232行:
$navContainer.addClass('animating').toggleClass('open')

它属于函数
animatementuogle
,该函数应接收一个状态参数(可通过函数
toogleMenu
传递)

然后,您可以使用status参数执行以下操作:
$navContainer.addClass('animating').removeClass('open-close').addClass(status)

如何显示负责连接鼠标输入/输出处理程序的代码?我假设处理程序只是切换一个“可见标志”,而不是在in/out处理程序中将其设置为true/false。^^^^^这是。我只是试着看看你网站的来源,它是残酷的,因为缩小。无论如何,您可能希望将菜单初始化代码包装在
$(document).ready(function(){window.headerManager.init();})中如果您还没有阻止(假设您也在使用jQuery)。我想补充一点,即使没有jQuery,也最好等待documentready事件来操作DOM…:)我在整个代码中添加了要点。我不写这个javascript,我们将脚本外包(我无法联系创建者)。我只需要识别被破坏的函数…我将尝试包装在一个文档中准备好…专业提示:不要让用户等待下拉列表的内容加载后再设置动画。这很糟糕。在下拉列表出现之前,用户将单击链接或转到另一个站点。时间太长了。