首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何烧开一个动画菜单,该菜单在cursive输入时打开,在光标被移除时关闭?

如何烧开一个动画菜单,该菜单在cursive输入时打开,在光标被移除时关闭?
EN

Stack Overflow用户
提问于 2019-03-24 04:34:29
回答 1查看 28关注 0票数 0

当我拖动光标时,我可以打开菜单,但如果我向下拉它,我就不知道如何关闭它。我尝试了onmouseou,但它并没有真正起作用,因为当我移动鼠标时,它总是关闭的。css代码中有一些额外的东西

代码语言:javascript
复制
    <div id="mySidenav" class="sidenav">
        <a href="#">123</a>
        <a href="#">123</a>
        <a href="#">123</a>
    </div>
    <span onmouseover="openNav(this)" style="font-size:30px;cursor:pointer" >&#9776;MENÜ</span>
代码语言:javascript
复制
.sidenav {
  height: 100%;
  width: 0;
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  background-color: #111;
  overflow-x: hidden;
  transition: 0.5s;
  padding-top: 60px;
}

.sidenav a {
  padding: 8px 8px 8px 32px;
  text-decoration: none;
  font-size: 25px;
  color: #818181;
  display: block;
  transition: 0.3s;
}

.sidenav a:hover {
  color: #f1f1f1;
}

.sidenav .closebtn {
  position: absolute;
  top: 0;
  right: 25px;
  font-size: 36px;
  margin-left: 50px;
}
代码语言:javascript
复制
function openNav() {

    document.getElementById("mySidenav").style.width = "250px";
  }

  function closeNav() {
    document.getElementById("mySidenav").style.width = "0";
  }
EN

回答 1

Stack Overflow用户

发布于 2019-03-24 08:28:03

您正在使用错误的事件侦听器。这两个将完成这项工作:

还有-最好在你的js中设置事件监听器,而不是html:

代码语言:javascript
复制
function openNav() {
  document.getElementById("mySidenav").style.width = "250px";
}

function closeNav() {
  document.getElementById("mySidenav").style.width = "0";
}
// Listener set on menu mouse enter
document.getElementById("menu").addEventListener("mouseenter", ()=>{openNav()});

// Listener set on sidenav mouse leave
document.getElementById("mySidenav").addEventListener("mouseleave", ()=>{closeNav()});

只需要给菜单一个id来选择它:

代码语言:javascript
复制
<div id="mySidenav" class="sidenav">
  <a href="#">123</a>
  <a href="#">123</a>
  <a href="#">123</a>
</div>
<span id="menu" style="font-size:30px;cursor:pointer" >&#9776;MENÜ</span>

这里有一个指向工作jsfiddle的链接:https://jsfiddle.net/msq4ogza/4/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55318106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档