JavaScript实现DOM元素圆周运动控制

作者:小圆点

时间:2026-10-30

浏览:414

本文介绍利用JavaScript实现DOM元素圆周运动的完整方案。通过监听按钮点击事件,结合定时器与三角函数计算坐标,动态修改元素绝对定位的left和top属性,从而在页面中实现平滑的圆周轨迹运动效果。

文章目录

JavaScript实现DOM元素圆周运动控制

本文详细解析了使用JavaScript控制页面元素进行圆周运动的具体实现方式,旨在为开发者提供实用的参考案例。


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>圆周运动</title>
<script type = "text/javascript">
   window.onload = function(){
    var ctrlBtn = $id("ctrl");
    var isMove = true;
    oM = null;
    ctrlBtn.onclick = function(){
    if(isMove){
    moveByCircle();
    }else{
    clearInterval(oM);
    }
    isMove = !isMove;
    }
   }
   function moveByCircle(){
    var bacL = parseInt($id("clockBac").style.left);
    var bacT = parseInt($id("clockBac").style.top);
    var bacW = parseInt($id("clockBac").style.width);
    var bacH = parseInt($id("clockBac").style.height);
    var initL = bacL+bacW/2;
    var initT = bacT+bacH/2;
    var step = 0;
    var r = 65;
    $id("tt").style.left = initL+"px";
    $id("tt").style.top = initT+"px";
    var l = parseInt($id("tt").style.left);
    var t = parseInt($id("tt").style.top);
    oM = window.setInterval(function(){
     if (step == 360) {
      step = 1;
     }
     $id("tt").style.left = (l + r * Math.sin(step)) + "px";
     $id("tt").style.top = (t - r * Math.cos(step)) + "px";
     step += 3.14/30;
      var d = new Date();
      var hh = d.getHours();
      var mm = d.getMinutes();
      var ss = d.getSeconds();
      $id("ctrl").value = hh+":"+mm+":"+ss;
    }, 1000);
   }
   function $id(id){
    return document.getElementById(id);
   }
</script>
</head>
<body>
<div id = "tt" style ="width:10px;height:10px;background:red;position:absolute;top:105px;left:130px;"></div>
<input type = "button" id = "ctrl" style = "width:100px;position:absolute;"/>
<img src = "../img/clock.jpg" id = "clockBac" style ="width:200px;height:200px;top:100px;left:100px;position:absolute;z-index:-999"/>
</body>
</html>

如需进一步了解JavaScript相关技术,建议查阅本站专题:《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》。

希望本文提供的方案能对您的JavaScript编程实践提供有益帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章