1

我试图将我的菜单从悬停更改为单击,但是如果我单击菜单,子菜单也会很快关闭,我想我需要一个用于 onclick 和切换的 javascript,但不知道该怎么做。请帮助我是新手

/* menu */
 #menu{ margin:0px 0px; margin-top:67px; margin-left:90px; list-style:none; color:#fff; line-height:30px; display:inline-block; float:left;  height:-100px; width:1000px; }
            #menu1{ margin:0px 0px; margin-top:auto; margin-left:-50px; list-style:none; color:#fff; line-height:30px; display:inline-block; float:left;  height:auto; width:95px; }
    #menu a { color:#000; text-decoration:none; }
    #menu > li {background:#fff none repeat scroll 0 0; cursor:pointer; float:left; position:relative;padding:0px 10px; z-index:999 !important;}
    #menu > li a:hover {color:#B0D730;}
    #menu .logo {background:transparent none repeat scroll 0% 0%; padding:0px; background-color:Transparent;}
    /* sub-menus*/
    #menu ul { padding:0px; margin:0px; display:block; display:inline;}
    #menu li ul { position:absolute; left:-10px; top:0px; margin-top:30px; width:200px; line-height:16px; background-color:#FFF; color:#FFF; /* for IE */                       display:none; }
    #menu li:hover ul { display:block;}
    #menu li ul li{ display:block; margin:5px 20px; padding: 5px 0px;  border-top: dotted 1px #606060; list-style-type:none; }
    #menu li ul li:first-child { border-top: none; }
    #menu li ul li a { display:block; color:#0395CC; }
    #menu li ul li a:hover { color:#7FCDFE; }
    /* main submenu */
    #menu #main { left:0px; top:-20px; padding-top:20px; background-color:#FFF; color:#fff; z-index:999 !important;}
4

1 回答 1

0

点击时

在您的 HTML 代码中,您可以在点击时执行 Javascript 操作:

<p onclick="clickedText()">Click Me!</p>

必要的 Javascript 代码是:

var clickedText = function() {
    //Insert Code Here That's On Click
}

要通过 id 访问元素,请使用以下 Javascript 代码:

var element = document.getElementById("id");

然后你可以使用:

element.style.display = "none";

速度

如果某些东西关闭得太快,而您正在使用display: none;,那是因为您告诉浏览器在这一秒内不显示任何内容。

您的 CSS 代码告诉浏览器不要显示子菜单。


CSS 代码

这就是您的 HTML 文件样本会派上用场的地方。您正在告诉浏览器以下内容:

#menu li:hover ul { /*Do stuff*/ }

这意味着它会选择所有悬停ul .li #menu

我认为CSS 选择器参考会对您有很大帮助。


建议

  • 我建议您提供一段 HTML 代码。
  • 我建议你试试这个这个这个教程。
  • 我建议你看看:not()CSS 选择器。
于 2012-11-22T18:06:56.310 回答