当前位置:首页 > JavaScript

js实现箭头旋转

2026-03-15 21:22:49JavaScript

使用 CSS 动画实现箭头旋转

通过 CSS 的 transform@keyframes 实现旋转动画,JavaScript 仅用于触发动画。

<style>
  .arrow {
    width: 20px;
    height: 20px;
    transition: transform 0.3s ease;
  }
  .rotate {
    transform: rotate(180deg);
  }
</style>

<script>
  const arrow = document.querySelector('.arrow');
  arrow.addEventListener('click', () => {
    arrow.classList.toggle('rotate');
  });
</script>

使用 JavaScript 直接控制旋转角度

通过动态修改 style.transform 属性实现逐帧旋转控制。

let rotation = 0;
const arrow = document.getElementById('arrow');

function rotateArrow() {
  rotation += 10;
  if (rotation >= 360) rotation = 0;
  arrow.style.transform = `rotate(${rotation}deg)`;
  requestAnimationFrame(rotateArrow);
}

rotateArrow();

结合 CSS 变量实现可控旋转

利用 CSS 自定义属性实现更灵活的角度控制。

<style>
  :root {
    --arrow-rotation: 0deg;
  }
  .arrow {
    transform: rotate(var(--arrow-rotation));
    transition: transform 0.5s;
  }
</style>

<script>
  document.documentElement.style.setProperty('--arrow-rotation', '45deg');
</script>

使用 GSAP 库实现高级动画

通过专业动画库实现弹性旋转等复杂效果。

gsap.to(".arrow", {
  rotation: 360,
  duration: 2,
  ease: "elastic.out(1, 0.5)",
  repeat: -1
});

实现点击交互旋转效果

综合方案实现点击触发的 180° 旋转效果。

js实现箭头旋转

let rotated = false;
document.querySelector('.arrow').addEventListener('click', () => {
  const deg = rotated ? 0 : 180;
  rotated = !rotated;
  this.style.transform = `rotate(${deg}deg)`;
});

标签: 箭头js
分享给朋友:

相关文章

jquery.js

jquery.js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,用于简化 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它的设计宗旨是“Write Less, Do Mor…

js实现分页

js实现分页

分页的基本实现思路 在JavaScript中实现分页功能通常需要结合前端和后端逻辑。前端负责渲染分页控件和处理用户交互,后端负责提供分页数据。 前端分页实现 纯前端分页适用于数据量较小的情况,可以直…

js实现拷贝

js实现拷贝

实现文本拷贝 使用 document.execCommand 方法(已废弃但兼容性较好): function copyText(text) { const textarea = document…

jquery js

jquery js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够更高…

js实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…

js实现密码

js实现密码

密码强度验证 使用正则表达式验证密码强度是一种常见方法。以下代码检查密码是否包含大小写字母、数字和特殊字符,且长度至少为8位: function checkPasswordStrength(pass…