JS控制层作圆周运动的方法


Posted in Javascript onJune 20, 2016

本文实例讲述了JS控制层作圆周运动的方法。分享给大家供大家参考,具体如下:

<!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在IE和Firefox浏览器下的7个差异兼容写法小结
Jun 18 Javascript
基于jquery的获取浏览器窗口大小的代码
Mar 28 Javascript
使用Javascript接收get传递的值的代码
Nov 30 Javascript
js 用CreateElement动态创建标签示例
Nov 20 Javascript
jQuery中width()方法用法实例
Dec 24 Javascript
JS实现控制表格内指定单元格内容对齐的方法
Mar 30 Javascript
分享Javascript实用方法二
Dec 13 Javascript
JavaScript入门教程之引用类型
May 04 Javascript
javascript 小数乘法结果错误的处理方法
Jul 28 Javascript
Angular2开发环境搭建教程之VS Code
Dec 15 Javascript
Vue刷新修改页面中数据的方法
Sep 16 Javascript
vue学习笔记之Vue中css动画原理简单示例
Feb 29 Javascript
简单实现jQuery进度条轮播实例代码
Jun 20 #Javascript
移动端H5开发 Turn.js实现很棒的翻书效果
Jun 20 #Javascript
angularjs封装bootstrap时间插件datetimepicker
Jun 20 #Javascript
jQuery插件 Jqplot图表实例
Jun 18 #Javascript
jqPlot jQuery绘图插件的使用
Jun 18 #Javascript
jQuery获取radio选中项的值实例
Jun 18 #Javascript
jQuery使用正则表达式限制文本框只能输入数字
Jun 18 #Javascript
You might like
在命令行下运行PHP脚本[带参数]的方法
2010/01/22 PHP
php array_udiff_assoc 计算两个数组的差集实例
2016/11/12 PHP
JS函数验证总结(方便js客户端输入验证)
2010/10/29 Javascript
Array 重排序方法和操作方法的简单实例
2014/01/24 Javascript
Javascript 运动中Offset的bug解决方案
2014/12/24 Javascript
JS拖动鼠标画出方框实现鼠标选区的方法
2015/08/05 Javascript
jQuery插件Timelinr 实现时间轴特效
2015/10/04 Javascript
解决angular的post请求后SpringMVC后台接收不到参数值问题的方法
2015/12/10 Javascript
javascript基础知识分享之类与函数化
2016/02/13 Javascript
JavaScript获取客户端IP的方法(新方法)
2016/03/11 Javascript
Javascript中级语法快速入手
2016/07/30 Javascript
浅谈jQuery中事情的动态绑定
2017/02/12 Javascript
轻松理解JavaScript闭包
2017/03/14 Javascript
Vue-Cli中自定义过滤器的实现代码
2017/08/12 Javascript
在vue中使用echarts图表实例代码详解
2018/10/22 Javascript
webpack4实现不同的导出类型
2019/04/09 Javascript
node.js中 mysql 增删改查操作及async,await处理实例分析
2020/02/11 Javascript
在Python的Django框架上部署ORM库的教程
2015/04/20 Python
Python基于pandas实现json格式转换成dataframe的方法
2018/06/22 Python
Django中使用第三方登录的示例代码
2018/08/20 Python
python3.4控制用户输入与输出的方法
2018/10/17 Python
Python中logging实例讲解
2019/01/17 Python
如何运行.ipynb文件的图文讲解
2019/06/27 Python
Python 从attribute到property详解
2020/03/05 Python
django 利用Q对象与F对象进行查询的实现
2020/05/15 Python
django 外键创建注意事项说明
2020/05/20 Python
如何用Python编写一个电子考勤系统
2021/02/08 Python
一张图片能隐含千言万语之隐藏你的程序代码
2012/12/13 HTML / CSS
体育馆的标语
2014/06/24 职场文书
化工工艺设计求职信
2014/06/25 职场文书
2015年大学班主任工作总结
2015/04/30 职场文书
教师“一帮一”结对子活动总结
2015/05/07 职场文书
工作简报怎么写
2015/07/21 职场文书
mysq启动失败问题及场景分析
2021/07/15 MySQL
Nginx部署vue项目和配置代理的问题解析
2021/08/04 Servers
SpringBoot中HttpSessionListener的简单使用方式
2022/03/17 Java/Android