JavaScript 实现图片平面旋转效果

作者:函数茶馆时间:2026-10-29 22:38:07浏览:271

本文介绍如何使用 JavaScript 实现图片在平面内的旋转效果。通过操作 DOM 元素的绝对定位与 CSS 样式,结合 setInterval 定时器循环更新旋转角度,实现持续的平面旋转动画。

JavaScript 实现图片平面旋转效果

本文详细介绍如何使用 JavaScript 实现图片在平面内的旋转效果,供读者参考学习。


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>图片旋转</title>
<style type="text/css" >
#div1{ position:relative;height:800px; border:1px solid red;}
#div1 img{ position:absolute;}
</style>
</head>
<body >
<div id="div1"  >
 <img src="https://www.jb51.net/images/logo.gif"  />
 <img src="https://www.jb51.net/images/logo.gif"  />
 <img src="https://www.jb51.net/images/logo.gif"  />
 <img src="https://www.jb51.net/images/logo.gif"  />
 <img src="https://www.jb51.net/images/logo.gif"  />
 <img src="https://www.jb51.net/images/logo.gif"  />
</div>
<script type="text/javascript" >
  var centerx = 400; //圆心X
  var centery = 300; //圆心Y
  var r = 300; //半径
  var oimages = document.getElementById("div1").getElementsByTagName("IMG"); //图片集合
  var cnt = oimages.length; //图片数
  var da = 360 / cnt; //图片间隔角度
  var a0 = 0; //已旋转角度
  var timer;
  for (var i = 0; i < cnt; i++) {
    oimages[i].onmouseover = stop;
    oimages[i].onmouseout = start;
  }
  function posimgs() {
    for (var i = 0; i < cnt; i++) {
      oimages[i].style.left = centerx + r * Math.cos((da * i + a0) / 180 * Math.PI) + "px";
      oimages[i].style.top = centery + r * Math.sin((da * i + a0) / 180 * Math.PI) + "px";
    }
  }
  // posimgs();
  function start() {
    timer = window.setInterval("posimgs();a0++;", 100);
  }
  function stop() {
    window.clearInterval(timer);
  }
  start();
</script>
</body>
</html>

如需了解更多 JavaScript 相关知识,可参考本站的《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》以及《JavaScript数学运算用法总结》等专题文章。

希望上述内容对您的 JavaScript 编程实践有所帮助。

作者最新文章