Javascript模拟加速运动与减速运动代码分享

作者:hebedich 时间:2024-06-07 15:27:46 

加速运动,即一个物体运动时速度越来越快;减速运动,即一个物体运动时速度越来越慢。现在用Javascript来模拟这两个效果,原理就是用setInterval或setTimeout动态改变一个元素与另外一个元素的距离,如xxx.style.left或xxx.style.marginLeft,然后每次运动后都使速度增加,这样加速运动的效果就出现了,减速运动是同样的道理。

下面是两个示例:

加速运动


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Javascript加速运动</title>
<style type="text/css">
* {margin: 0; padding: 0;}
.div1 {width: 100px; height: 100px; background: #f60 url(qiuweiguan.gif) no-repeat center center;}
</style>
<script type="text/javascript">
var $$ = function (id) {
return document.getElementById(id);
}
window.onload = function () {
var oBtn = $$("btn1");
var oDiv = $$("div1");
var timer = null;
var speed = 0;
oBtn.onclick = function () {
clearInterval(timer);
timer = setInterval(function () {
speed ++;
oDiv.style.marginLeft = oDiv.offsetLeft + speed + "px";
}, 30);
}
}
</script>
</head>
<body id = "body">
<button id="btn1" class="btn1">GO</button>
<div id="div1" class="div1"></div>
</body>
</html>

注:本示例中,点击GO后,div块会一直向右做加速运动

减速运动


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Javascript减速运动</title>
<style type="text/css">
* {margin: 0; padding: 0;}
.div1 {width: 100px; height: 100px; background: #f60 url(qiuweiguan.gif) no-repeat center center;}
</style>
<script type="text/javascript">
var $$ = function (id) {
return document.getElementById(id);
}

window.onload = function () {
var oBtn = $$("btn1");
var oDiv = $$("div1");
var timer = null;
var speed = 30;
oBtn.onclick = function () {
clearInterval(timer);
timer = setInterval(function () {
speed — ;
oDiv.style.marginLeft = oDiv.offsetLeft + speed + "px";
}, 30);
}
}
</script>
</head>
<body id = "body">
<button id="btn1" class="btn1">GO</button>
<div id="div1" class="div1"></div>
</body>
</html>

注:本示例中,点击GO后,div块会一直向右做减速运动,直到速度减为零后,速度变为负值,再向左做加速运动

标签:Javascript,加速运动,减速运动
0
投稿

猜你喜欢

  • Pytorch随机数生成常用的4种方法汇总

    2022-02-07 09:25:34
  • nestjs实现图形校验和单点登录的示例代码

    2024-04-16 09:49:08
  • 为什么要进行CSS缩写?

    2007-10-29 12:56:00
  • Python 字符串类型列表转换成真正列表类型过程解析

    2021-07-28 18:06:52
  • Python实战之markdown转pdf(包含公式转换)

    2023-11-24 12:39:34
  • python通过apply使用元祖和列表调用函数实例

    2021-02-18 03:18:32
  • 通过实例学习Python Excel操作

    2021-01-21 21:55:12
  • Pycharm Plugins加载失败问题解决方案

    2023-12-28 22:28:49
  • Python+Tkinter制作猜灯谜小游戏

    2021-09-24 19:43:17
  • 基于PyQt5制作一个PDF文件合并器

    2023-04-27 07:50:58
  • SQL Server 2000安装故障

    2008-01-22 19:10:00
  • uploadify在Firefox下丢失session问题的解决方法

    2024-02-27 01:33:31
  • MySQL插入时间差八小时问题的解决方法

    2024-01-28 22:00:09
  • Django自定义分页效果

    2023-12-06 00:09:04
  • 关于 MediaPlayer 播放器参数详解

    2008-08-10 18:33:00
  • xhtml有哪些块级元素

    2009-12-06 11:58:00
  • python中stdout输出不缓存的设置方法

    2023-03-08 10:23:15
  • python字符串连接方式汇总

    2021-08-19 23:46:14
  • 用js限制网页只在微信浏览器中打开(或者只能手机端访问)

    2023-09-24 00:11:25
  • python实现在内存中读写str和二进制数据代码

    2022-03-30 04:55:11
  • asp之家 网络编程 m.aspxhome.com