…">
当前位置:首页 > JavaScript

js实现九宫格

2026-03-01 01:43:10JavaScript

实现九宫格布局

使用CSS Grid可以轻松实现九宫格布局。Grid布局提供了强大的二维布局能力,适合创建复杂的网格结构。

<div class="grid-container">
  <div class="grid-item">1</div>
  <div class="grid-item">2</div>
  <div class="grid-item">3</div>
  <div class="grid-item">4</div>
  <div class="grid-item">5</div>
  <div class="grid-item">6</div>
  <div class="grid-item">7</div>
  <div class="grid-item">8</div>
  <div class="grid-item">9</div>
</div>
.grid-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 10px;
  width: 300px;
  height: 300px;
}

.grid-item {
  background-color: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
}

动态生成九宫格

使用JavaScript动态创建九宫格元素:

const container = document.createElement('div');
container.className = 'grid-container';

for (let i = 1; i <= 9; i++) {
  const item = document.createElement('div');
  item.className = 'grid-item';
  item.textContent = i;
  container.appendChild(item);
}

document.body.appendChild(container);

添加交互功能

为九宫格添加点击事件处理:

const items = document.querySelectorAll('.grid-item');
items.forEach(item => {
  item.addEventListener('click', () => {
    item.style.backgroundColor = '#ccc';
    console.log(`Clicked item ${item.textContent}`);
  });
});

响应式九宫格

使九宫格适应不同屏幕尺寸:

@media (max-width: 600px) {
  .grid-container {
    grid-template-columns: repeat(2, 1fr);
    width: 200px;
    height: 450px;
  }
}

@media (max-width: 400px) {
  .grid-container {
    grid-template-columns: 1fr;
    width: 100px;
    height: 900px;
  }
}

动画效果

为九宫格添加悬停动画:

js实现九宫格

.grid-item {
  transition: transform 0.3s, background-color 0.3s;
}

.grid-item:hover {
  transform: scale(1.1);
  background-color: #ddd;
}

这些方法提供了从基础布局到交互功能的完整实现方案,可以根据具体需求进行调整和扩展。

标签: 九宫格js
分享给朋友:

相关文章

js 实现分页

js 实现分页

实现分页的基本逻辑 分页功能通常需要后端返回数据总量或总页数,前端根据当前页码和每页条数截取对应数据。以下是一个基于JavaScript的简单分页实现方案: 前端分页实现 假设已有从后端获取的完整数…

js实现tab选项卡切换

js实现tab选项卡切换

实现Tab选项卡切换的JavaScript方法 使用纯JavaScript实现Tab切换功能,可以通过监听点击事件动态切换内容显示状态。以下是两种常见实现方式: 基础DOM操作实现 /…

js实现防洪

js实现防洪

防抖(Debounce)实现 防抖的核心思想是在事件触发后延迟执行回调函数,若在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口调整等场景。 function debounce(f…

节流js实现

节流js实现

节流(Throttle)的实现原理 节流是一种限制函数执行频率的技术,确保函数在一定时间间隔内最多执行一次。适用于高频触发事件(如滚动、输入、窗口调整等)的场景。 基础实现方式 使用时间戳判断是否执…

js实现下拉菜单

js实现下拉菜单

使用HTML和CSS创建基础结构 HTML部分需要包含一个触发下拉的按钮和隐藏的下拉菜单内容: <div class="dropdown"> <button class="dr…

js 实现滚动

js 实现滚动

实现滚动的方法 使用 window.scrollTo() window.scrollTo() 方法可以滚动到文档中的特定位置。可以指定 x 和 y 坐标,或者使用平滑滚动的选项。 // 滚动到指定位…