Javascript 第一次单击ATOM HTML预览后自动关闭下拉菜单(仅限浏览器)

Javascript 第一次单击ATOM HTML预览后自动关闭下拉菜单(仅限浏览器),javascript,html,css,drop-down-menu,Javascript,Html,Css,Drop Down Menu,我正在使用Atom并启用了html预览功能。这个问题与Atom中的html预览无关,在Chrome或IE中根本不会发生 我在标题中有一个水平主菜单。单击其中一个主菜单项将显示一个下拉菜单。在再次单击主菜单项之前,下拉菜单不应消失。不幸的是,在我的例子中,下拉菜单在大约1秒后自动消失。这就好像单击后页面会重新加载,因为当下拉菜单消失时,鼠标图标会从链接选择图标(指针)变回正常的鼠标图标(光标) 我认为这与如何检索样式属性(display:none;)有关。这是我的密码: var subClick

我正在使用Atom并启用了html预览功能。这个问题与Atom中的html预览无关,在Chrome或IE中根本不会发生

我在标题中有一个水平主菜单。单击其中一个主菜单项将显示一个下拉菜单。在再次单击主菜单项之前,下拉菜单不应消失。不幸的是,在我的例子中,下拉菜单在大约1秒后自动消失。这就好像单击后页面会重新加载,因为当下拉菜单消失时,鼠标图标会从链接选择图标(指针)变回正常的鼠标图标(光标)

我认为这与如何检索样式属性(display:none;)有关。这是我的密码:

var subClick=document.getElementById(“mainitemswithdropdown”);
var子菜单=document.getElementById(“子”)
showHideDrop();
subClick.addEventListener('click',函数(){
showHideDrop();
})
函数showHideDrop(){
如果(子菜单.style.display==“无”){
子菜单.style.display=“块”;
}否则{
子菜单.style.display=“无”;
}
}
*{
保证金:0;
填充:0;
文字装饰:无;
}
p{
浮动:左;
}
#主要{
浮动:对;
右边距:20px;
}
#mainitems,#mainitems下拉列表{
浮动:左;
列表样式:无;
左侧填充:20px;
}
#潜艇{
浮动:对;
显示:无;
}
#分项{
列表样式:无;
}

公司名称


我本打算早些时候发布我的问题,但最终在这段时间内解决了。我把它贴了出来,这样我就可以在这里添加答案,因为我认为这是我们新手的一个常见问题


您必须删除
标记。这些标记充当链接。“#”指定页面上要滚动到的元素。因此,如果在需要显示下拉菜单的主菜单项周围有这些标记,浏览器可能会尝试读取链接并滚动到页面上的特定位置。我相信这就是菜单在第一次浏览时消失的原因。我不知道为什么这个问题只会在第一次发生。尽管如此,删除这些标签还是解决了我的问题。

嘿,只是一个提示,你有HTML错误。ID必须是唯一的,您已多次使用
子项
&
main项
。考虑将这些更改为
class=“subitems”
,因为一个类可以有多个。您还可以使用并保留链接