当前位置:首页 > 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
分享给朋友:

相关文章

vue实现js休眠

vue实现js休眠

Vue 中实现 JavaScript 休眠 在 Vue 中实现 JavaScript 休眠通常需要使用异步方式,以避免阻塞主线程。以下是几种常见方法: 使用 setTimeout 和 Pro…

js实现验证码

js实现验证码

使用Canvas生成图形验证码 在HTML中创建一个Canvas元素用于绘制验证码。通过JavaScript随机生成数字或字母组合,并添加干扰线、噪点等干扰元素增强安全性。 <canvas i…

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化W…

js画图实现

js画图实现

使用Canvas API绘制图形 Canvas是HTML5提供的绘图API,通过JavaScript操作Canvas元素可以绘制各种图形。以下是一个简单的示例: <canvas id="myC…

js实现视口

js实现视口

js实现视口检测的方法 使用JavaScript检测元素是否进入视口(viewport)可以通过Intersection Observer API或手动计算元素位置实现。以下是两种常见方法: Int…

js实现代码雨

js实现代码雨

实现代码雨效果 使用HTML5 Canvas和JavaScript可以轻松实现经典的代码雨效果。以下是完整的实现代码和说明: HTML结构 <!DOCTYPE html> <…