当前位置:首页 > JavaScript

js实现左侧

2026-03-15 05:41:21JavaScript

实现左侧固定导航栏

使用HTML和CSS创建一个固定左侧导航栏,导航栏会随页面滚动保持固定位置。

<div class="sidebar">
  <a href="#home">Home</a>
  <a href="#about">About</a>
  <a href="#services">Services</a>
  <a href="#contact">Contact</a>
</div>
<div class="main-content">
  <!-- 页面主要内容 -->
</div>
.sidebar {
  height: 100%;
  width: 200px;
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  background-color: #111;
  overflow-x: hidden;
  padding-top: 20px;
}

.sidebar a {
  padding: 6px 8px 6px 16px;
  text-decoration: none;
  font-size: 20px;
  color: #818181;
  display: block;
}

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

.main-content {
  margin-left: 200px;
  padding: 20px;
}

实现可折叠的左侧菜单

创建一个可以展开和折叠的左侧菜单,使用JavaScript添加交互功能。

js实现左侧

<button class="toggle-btn" onclick="toggleMenu()">Toggle Menu</button>
<div class="sidebar" id="sidebar">
  <a href="#">Menu Item 1</a>
  <a href="#">Menu Item 2</a>
  <a href="#">Menu Item 3</a>
</div>
.sidebar {
  width: 250px;
  height: 100vh;
  background: #333;
  position: fixed;
  left: 0;
  transition: transform 0.3s ease;
}

.sidebar.collapsed {
  transform: translateX(-250px);
}

.toggle-btn {
  position: fixed;
  left: 260px;
  top: 10px;
  z-index: 100;
}
function toggleMenu() {
  const sidebar = document.getElementById('sidebar');
  sidebar.classList.toggle('collapsed');
}

响应式左侧导航栏

创建一个响应式左侧导航栏,在小屏幕上自动隐藏。

js实现左侧

@media screen and (max-width: 768px) {
  .sidebar {
    transform: translateX(-250px);
  }

  .sidebar.active {
    transform: translateX(0);
  }

  .main-content {
    margin-left: 0;
  }
}

带子菜单的左侧导航

实现一个带有可展开子菜单的左侧导航栏。

<div class="sidebar">
  <div class="menu-item" onclick="toggleSubmenu(this)">
    <span>Products</span>
    <div class="submenu">
      <a href="#">Product 1</a>
      <a href="#">Product 2</a>
    </div>
  </div>
</div>
.submenu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.submenu.active {
  max-height: 200px;
}
function toggleSubmenu(element) {
  const submenu = element.querySelector('.submenu');
  submenu.classList.toggle('active');
}

动态高亮当前菜单项

根据当前页面URL自动高亮对应的菜单项。

function highlightActiveMenu() {
  const links = document.querySelectorAll('.sidebar a');
  const currentUrl = window.location.href;

  links.forEach(link => {
    if (link.href === currentUrl) {
      link.classList.add('active');
    }
  });
}

window.addEventListener('DOMContentLoaded', highlightActiveMenu);
.sidebar a.active {
  background-color: #4CAF50;
  color: white;
}

标签: js
分享给朋友:

相关文章

js实现打印

js实现打印

使用window.print()方法实现打印 在JavaScript中,可以通过调用window.print()方法直接触发浏览器的打印功能。这会打开系统的打印对话框,用户可以选择打印机和设置打印选项…

js实现图片上传

js实现图片上传

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现图片上传功能。HTML部分需要创建一个文件选择输入框和一个用于…

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaSc…

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…

js怎么实现异步

js怎么实现异步

异步实现方法 JavaScript中实现异步操作主要通过以下几种方式: Promise Promise是ES6引入的异步解决方案,用于处理异步操作的成功或失败状态。 const promise =…

js实现 功能

js实现 功能

在 JavaScript 中实现功能通常涉及多个关键步骤,具体取决于功能需求。以下是常见功能的实现方法和示例: 基本功能实现 使用函数封装逻辑是最直接的方式。例如,实现一个计算两数之和的函数: f…