繁体   English   中英

将CSS悬停转换为JS onClick的下拉菜单?

[英]convert CSS Hover to JS onClick for Dropdown Menu?

我想在用户单击图像时创建一个简单的下拉菜单。 当前,我正在使用CSS悬停,但它并没有停留,因此我想将其转换为JS onClick函数。

<html>
<head>
<style>
ul {
text-align: left;
display: inline;
margin: 0;
list-style: none;
}
ul li {
display: inline-block;
position: relative;
}
ul li ul {
padding: 0;
position: absolute;
display: none;
opacity: 0;
visibility: hidden;
}
ul li ul li { 
display: block;  
}
ul li:hover ul {
display: block;
opacity: 1;
visibility: visible;
}
</style></head><body>
<ul>
<li>
<img src="https://cdn1.iconfinder.com/data/icons/thincons/100/menu-128.png" width="20px;" height="18px;"/>
<ul class="lang">
<li>Web Design</li>
<li>Web Development</li>
<li>Illustrations</li>
</ul>
</li>
</ul>

</body>  
</html>

随着一点点的jQuery,我们可以很容易地toggle的一类或关闭代表“”显示菜单:

$("#menu").click(function(){
    $(this).toggleClass("activated");
});

并将CSS(而不是:hover )更改为:

ul li.activated ul {
    display: block;
    opacity: 1;
   visibility: visible;
}

HTML只需要第一个li元素具有一个id,这使我们可以使用jQuery将click事件绑定到它。

<ul>
<li id="menu">

您可以在这把小提琴上看到一切。

编辑:对于非jQuery解决方案,可以使用以下Javascript代码:

var myEl = document.getElementById('menu');
myEl.addEventListener('click', function() {
    this.classList.toggle('activated');
}, false);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM