首页
学习
活动
专区
圈层
工具
发布

左边漂浮菜单js代码

以下是一个简单的左边漂浮菜单的 JavaScript 代码示例:

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>漂浮菜单</title>
  <style>
    #floatMenu {
      position: fixed;
      left: 0;
      top: 50%;
      transform: translateY(-50%);
      z-index: 1000;
    }

    #floatMenu ul {
      list-style: none;
      padding: 0;
      margin: 0;
    }

    #floatMenu ul li {
      padding: 10px;
      background-color: #f1f1f1;
      margin-bottom: 5px;
      border-radius: 0 5px 5px 0;
    }
  </style>
</head>

<body>
  <div id="floatMenu">
    <ul>
      <li>菜单项 1</li>
      <li>菜单项 2</li>
      <li>菜单项 3</li>
    </ul>
  </div>

  <script>
    window.onload = function () {
      const floatMenu = document.getElementById('floatMenu');
      let isClicked = false;

      floatMenu.addEventListener('click', function () {
        isClicked = !isClicked;
        if (isClicked) {
          floatMenu.style.width = '200px';
        } else {
          floatMenu.style.width = '50px';
        }
      });

      document.addEventListener('click', function (event) {
        if (!floatMenu.contains(event.target) && isClicked) {
          isClicked = false;
          floatMenu.style.width = '50px';
        }
      });
    }
  </script>
</body>

</html>

基础概念:

  • position: fixed:使元素相对于浏览器窗口固定位置。
  • transform: translateY(-50%):垂直居中元素。

优势:

  1. 用户在滚动页面时始终可见,方便快速访问功能。
  2. 可以自定义样式和内容,以满足不同的需求。

类型: 常见的漂浮菜单可以根据功能和样式有不同的分类,如简单的导航菜单、包含下拉选项的复杂菜单等。

应用场景:

  1. 网站的侧边工具栏,如搜索框、用户登录信息等。
  2. 电商网站的快速购买按钮或购物车图标。
  3. 社交媒体网站的分享按钮。

可能出现的问题及原因:

  1. 菜单在某些页面位置显示不正常:可能是由于其他元素的样式影响了其布局,或者页面滚动时计算位置出现偏差。
  2. 点击外部区域无法关闭展开的菜单:可能是事件监听的范围设置不正确。

解决方法:

  1. 检查并调整相关元素的样式,确保没有冲突。
  2. 精确设置事件监听的范围,确保能够正确判断点击是否发生在菜单外部。

希望这个示例和解释对您有所帮助!如果您还有其他具体问题,请随时提问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券