javascript - 我如何煮一个动画菜单,该菜单在草书进入时打开并在光标移开时关闭?

标签 javascript html css

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

    <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>

.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;
}


function openNav() {

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

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

最佳答案

您使用了错误的事件监听器。这两个将完成工作:

此外 - 最好在 js 而不是 html 中设置事件监听器:

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来选择它:

<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/

关于javascript - 我如何煮一个动画菜单,该菜单在草书进入时打开并在光标移开时关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55318106/

相关文章:

javascript - 如何从渲染器进程调用 Electron API 方法?

javascript - 页面无法通过 iframe 加载?

javascript - 背景图像下方的白色区域

css - 内容元素覆盖的调整机制

JavaScript 列表 : Delete and Edit items function?

javascript - 在本地保存和重新加载值的问题

javascript - 在 Google Data Studio 社区连接器中对嵌套数据建模

html - 导航到 CSS 样式表的目录

javascript - window.location.href 和页面重新加载的问题

html - CSS ":visited :hover"-疯狂