博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Js]缓冲运动
阅读量:6893 次
发布时间:2019-06-27

本文共 500 字,大约阅读时间需要 1 分钟。

一、运动框架

1.在开始运动时,关闭已有定时器(否则会不断有新的定时器执行)

2.把运动和停止隔开(if/else)

二、缓冲运动

逐渐变慢,最后停止(距离越远速度越大)

速度=(目标值-当前值)/缩放系数

例如 var iSpeed=(iTarget-oDiv.offsetLeft)/8;

但由于除法可能产生小数,位置加上一个小数还是会被舍弃(如300.25px其实还是会被计算机当成300px),所以小数要给它向上取整,当然也有可能是负的小数,那就要向下取整

iSpeed=iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed);

潜在问题:目标值有时候也是计算出来可能是小数,也要给它取整parseInt(iTarget)

三、匀速运动的停止条件

距离足够近

if(Math.abs(oDiv.offsetLeft-iTarget)<iSpeed){           //不管往左还是往右,取绝对值

    oDiv.style.left=iTarget+'px';

}

转载于:https://www.cnblogs.com/zhangwenkan/p/3611902.html

你可能感兴趣的文章
shell编程-变量
查看>>
[转帖]c头文件(.h)的作用
查看>>
中文乱码问题解决方法总结
查看>>
渗透测试
查看>>
详解如何使用Docker Hub官方的MySQL镜像生成容器
查看>>
Perl 输出颜色
查看>>
docker疑难解答 -- 设置远程服务监听
查看>>
mysql grant 用户权限总结
查看>>
python实现简单登陆流程
查看>>
二级域名和二级目录在SEO中的区别(二)
查看>>
设计并实施CRM与ERP的整合方案
查看>>
将无限循环小数化为分数
查看>>
MetaMask/metamask-extension/mascara 的运行实现
查看>>
loglevel-metamask
查看>>
决策树算法实现(train+test,matlab) 转
查看>>
51Nod-1126 求递推序列的第N项【递推序列+模除】
查看>>
Eratosthenes筛选法(C++版)
查看>>
HDU1163 Eddy's digital Roots
查看>>
Topological Sorting(拓扑排序)
查看>>
css学习_css用户界面样式
查看>>