新学一个JavaScript 的 classList API

一、语法
javascript 复制代码
element.classList.toggle(className);
二、场景用法:

点击一张图片放大再次点击的时候缩小

3、demo代码
javascript 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>图片放大缩小 Demo</title>
  <style>
    .image-container {
      width: 200px;
      height: 200px;
      display: flex;
      justify-content: center;
      align-items: center;
      overflow: hidden; /* 超过容器尺寸的部分隐藏 */
      border: 1px solid #ddd;
    }

    .image-container img {
      width: 100%; /* 图片填充容器 */
      transition: transform 0.3s ease-in-out; /* 动画效果 */
    }

    /* 放大后的样式 */
    .image-container.enlarged img {
      transform: scale(1.8); /* 放大1.8倍 */
    }
  </style>
</head>
<body>

  <div class="image-container" id="imageContainer">
    <img src="https://via.placeholder.com/200" alt="点击放大缩小" id="image">
  </div>

  <script>
    // 获取元素
    const imageContainer = document.getElementById('imageContainer');

    // 点击事件
    imageContainer.addEventListener('click', () => {
      // 切换放大缩小效果
      imageContainer.classList.toggle('enlarged');
    });
  </script>

</body>
</html>
相关推荐
泯泷3 小时前
第 2 篇:设计第一套字节码:Opcode、Instruction 与 Constant Pool
前端·javascript·安全
泯泷3 小时前
第 1 篇:从 1 + 2 开始:亲手写出第一台 JSVM
前端·javascript·安全
朦胧之4 小时前
页面白屏卡住排查方法
前端·javascript
犇驫聊AI4 小时前
Chrome DevTools MCP + Claude Code 自定义skills生成接口代码生成器
前端·javascript
kyriewen5 小时前
别再这样写 async/await 了:我在 Code Review 中见过最多的 8 个错误
前端·javascript·面试
用户298698530149 小时前
在 React 中使用 JavaScript 将 Excel 转换为 SVG
前端·javascript·react.js
labixiong10 小时前
手写Promise--微任务、静态方法、async/await 全搞懂(三)
前端·javascript
铁皮饭盒11 小时前
3行代码搞定页面截图,Bun.WebView真的简单
javascript
kyriewen1 天前
我手写了一个 EventEmitter,面试官追问了 6 个问题——第 4 个我没答上来
前端·javascript·面试
山河木马1 天前
矩阵专题2-怎么创建视图矩阵(uViewMatrix)
javascript·webgl·计算机图形学