练习:javascript-setInterval动画运动平移,定时器动画练习
常见问题:定时器加速问题,每次点击会启动一个定时器,解决先清除定时器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>动画运动平移</title>
<style>
*{margin:0;padding:0;}
#aa1 {position:absolute;left:0px;width:100px;height:100px;background:#F00;display:inline-block;}
#btn1 {position:absolute;top:120px;}
.line {position:absolute;left:300px;width:1px;height:500px;background:#000;}
</style>
</head>
<body>
<input type="button" value = "移动" id="btn1">
<div id="aa1"></div>
<div id="aa2"></div>
<div class='line'></div>
<script>
//1、定时器加速问题,每次点击会启动一个定时器,解决先清楚
var oBtn1 = document.querySelector('#btn1');
var oDiv1 = document.querySelector('#aa1');
var timer=null;
oBtn1.onclick=function(){
clearInterval(timer);
//2、不想改变speed值,判断起始值在目标点的方向
(300-oDiv1.offsetLeft)<0? speed=-9: speed=9;
timer = setInterval(function(){
//3、距离足够近时,设置值
if(Math.abs(300-oDiv1.offsetLeft)<Math.abs(speed)){
oDiv1.style.left=300+'px';
clearInterval(timer);
timer =null;
}else {
oDiv1.style.left =oDiv1.offsetLeft+speed+'px';
}
},20)
}
</script>
</body>
</html>
动画通用步骤:
:判断速度speed正负:
(目标值-oDiv1.offsetLeft)<? speed=负: speed=正;
、归位
if(Math.abs(目标值-oShare.offsetLeft)<Math.abs(speed)){//显示
oDiv1.style.left =dest+'px';
clearInterval(timer);
timer = null;
}else {
oDiv1.style.left =oDiv1.offsetLeft+speed+'px';
}
练习:javascript-setInterval动画运动平移,定时器动画练习的更多相关文章
- 基于canvas实现物理运动效果与动画效果(一)
一.为什么要写这篇文章 某年某月某时某种原因,我在慕课网上看到了一个大神实现了关于小球的抛物线运动的代码,心中很是欣喜,故而写这篇文章来向这位大神致敬,同时也为了弥补自己在运动效果和动画效果制作方面的 ...
- javascript动画效果之缓冲动画(修改版)
在编写多块同时触发运动的时候,发现一个BUG, timer = setInterval(show, 30);本来show是一个自定义函数,当设为timer = setInterval(show(one ...
- [iOS Animation]-CALayer 定时器动画
定时器的动画 我可以指导你,但是你必须按照我说的做. -- 骇客帝国 在第10章“缓冲”中,我们研究了CAMediaTimingFunction,它是一个通过控制动画缓冲来模拟物理效果例如加速或者减速 ...
- Android动画:模拟开关按钮点击打开动画(属性动画之平移动画)
在Android里面,一些炫酷的动画确实是很吸引人的地方,让然看了就赏心悦目,一个好看的动画可能会提高用户对软件的使用率.另外说到动画,在Android里面支持3种动画: 逐帧动画(Frame Ani ...
- HTML5+javascript实现图片加载进度动画效果
在网上找资料的时候,看到网上有图片加载进度的效果,手痒就自己也写了一个. 图片加载完后,隐藏loading效果. 想看加载效果,请ctrel+F5强制刷新或者清理缓存. 效果预览: 0% // ...
- 按照vue文档使用JavaScript钩子但是却不能执行动画?
大家刚入VUE肯定是先去阅读文档, 在 进入/离开 & 列表过渡 这一章节有一小节 --------- JavaScript钩子 详情见vue文档: https://cn.vuejs.or ...
- 基本动画、复合动画设置 平移、缩放、旋转、透明度 编码实现 xml实现
public class VAActivity extends Activity { private ImageView iv_animation; private TextView tv_anima ...
- WPF 3D 平移模型+动画(桥梁检测系统)
原文:WPF 3D 平移模型+动画(桥梁检测系统) 关于WPF 3D,网上有很多旋转的例子,但是关于平移的例子并不是太多.本文并非WPF 3D扫盲篇,因此需要对WPF 3D有一定了解,至少知道View ...
- CoreAnimation4-隐式动画和显式动画
事务 Core Animation基于一个假设,说屏幕上的任何东西都可以(或者可能)做动画.动画并不需要你在Core Animation中手动打开,相反需要明确地关闭,否则他会一直存在. 当你改变CA ...
随机推荐
- .net 调用java service 代理类方法
通过Svcutil.exe 工具生成代理类调用 1.找到如下地址“C:\Windows\System32\cmd.exe” 命令行工具,右键以管理员身份运行(视系统是否为win7 而定) 2 ...
- ZooKeeper Dynamic Reconfiguration (dynamicConfigFile) ZooKeeper动态配置
有人翻译的地址:https://www.cnblogs.com/dupang/p/5649843.html ZooKeeper Dynamic Reconfiguration Overview Cha ...
- syso快捷键设置
syso快捷键
- springMVC第二天——高级参数绑定与其它特性
大纲摘要: 1.高级参数绑定 a) 数组类型的参数绑定 b) List类型的绑定 2.@RequestMapping注解的使用 3.Controller方法返回值 4.Springmvc中异常处理 5 ...
- AOP从静态代理到动态代理 Emit实现
[前言] AOP为Aspect Oriented Programming的缩写,意思是面向切面编程的技术. 何为切面? 一个和业务没有任何耦合相关的代码段,诸如:调用日志,发送邮件,甚至路由分发.一切 ...
- vue非父子组件之间的通信
https://www.cnblogs.com/chengduxiaoc/p/7099552.html //vm.$emit( event, arg ) //触发当前实例上的事件 //vm.$on ...
- SpringBoot项目优化和Jvm调优(转)
原文:https://blog.csdn.net/wd2014610/article/details/82182617 项目调优作为一名工程师,项目调优这事,是必须得熟练掌握的事情. 在SpringB ...
- Linux 系统中五笔输入法有些字打不出来(已解决)
最近在使用CentOS7 桌面版本,在用五笔打字时,有些字打不出来,比如“覆盖”.但是在WIN下能打出来. 从网上查找原因,原来是需要改成GBK字符集.方法如下: 修改文件 vim /usr/shar ...
- vue生命週期
https://www.cnblogs.com/fly_dragon/p/6220273.html https://www.cnblogs.com/fly_dragon/p/6220273.html
- 使用ffmpeg视频切片并加密
想达到的目的:将一个mp4视频文件切割为多个ts片段,并在切割过程中对每一个片段使用 AES-128 加密,最后生成一个m3u8的视频索引文件: 电脑环境 Fedora,已经安装了最新的ffmpeg: ...
