位置: 编程技术 - 正文

浅谈Javascript中匀速运动的停止条件(细说javascript)

编辑:rootadmin

推荐整理分享浅谈Javascript中匀速运动的停止条件(细说javascript),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript的理解,javascript总结,javascript概述及作用,javascript的,javascript的,细说javascript,javascript概述及作用,javascript的,内容如对您有帮助,希望把文章链接给更多的朋友!

我们先来看下之前的匀速运动的代码,修改了速度speed后会出现怎么样的一个bug。这里加了两个标杆用于测试

其实这样的代码如果把速度改成7这种奇数,而到达目标点却是一个整数,这样就会出现未能达目标点或超过目标点来回抖动的bug

那为什么会出现这种情况呢 ?

实际上来说他到达目标点的时候无法精确到目标点,若目标点是,每次走7个,这个时候他要么就是过了目标点,要么就是没过。

永远到不了目标点。其实帮之前的缓冲有点像。

那么到底怎么算才是到达了目标点呢?

举个例子 : 你打车到某个地方,司机肯定是到哪里差不多离个米米就停下来了,就算到了。不可能要求汽车贴到那个地方停下来吧。

浅谈Javascript中匀速运动的停止条件(细说javascript)

所以说呢,其实来讲程序也是一样的,我们只要物体和目标点之间的距离近到一定的程度,就不需要再近了,就认为到了。

我们看下修改后的代码:

解释一下: 这里为什么要用 Math.abs 取绝对值呢?

理由很简单,因为速度可能是正的可能是负的。

现在我们让目标和物体之间的距离只要小于等7, 那就算到了。为什么是7呢? 因为他下一次的运动都不足7个了。这个时候我们就算他到了目标点了。

那现在问题又来了, 这样写 他并没有精确的停在目标点的位置。所以我们加了一句简单的话,直接让left 等于目标点。oDiv.style.left=iTarget+'px';

实际上最后一次走的不足7个,但是大家都知道程序这个运行的太快了,人眼是看不出来的。热烈的笑脸

这个时候就没有问题了。眨眼

这个就是匀速运动的停止条件。 那有朋友问,为什么缓冲运动没有这么麻烦呢?

因为他的速度是变的,越来越小,直到最后他甚至就到达1了,一步一步往前肯定不会出现这样的问题。

javascript操作字符串的原生方法 join([分隔符])数组元素组合为字符串toString()以字符串表示数组reverse()数组反转--改变原数组本身valueOf()返回数组值htmlheadscripttype="text/javascript"varfruits=["苹

javascript定义变量时加var与不加var的区别 一、外部的为全局,内部的为局部变量。二、加var为局部变量(在方法内),不加var为全局变量(当方法内有一次使用后)scripttype="text/javascript"vargolbe="global";

javascript中的遍历for in 以及with的用法 forin循环执行一个对象中的属性with语句:(对象操作语句)功能:为一段程序建立默认对象格式:with(对象){语句组}具体示例:scripttype="text/javascript"functionmember(

标签: 细说javascript

本文链接地址:https://www.jiuchutong.com/biancheng/384764.html 转载请保留说明!

上一篇:JS获取各种宽度、高度的简单介绍(js获取宽高)

下一篇:javascript操作字符串的原生方法(javascript中字符串)

  • 办公楼出租价格怎么算
  • 企业购车发票怎么查询
  • 技术服务收入属于劳务报酬所得吗
  • 结转成本时是否含税
  • 取得住宿发票的专用发票可以抵扣吗
  • 搭赠的商品怎么开票
  • 小规模纳税人季报是哪几个月
  • 汇算清缴退税可以不退吗
  • 商业企业能否计税
  • 未到期责任准备金计算方法
  • 网银 密码器
  • 企业平时计提的税费分录
  • 存货营业外支出包括哪些
  • 基本电费等于
  • 固定资产盘盈怎么算
  • 出口退税可以用电子专用发票吗
  • 抄税忘记了怎么办
  • 辞退福利应该计入什么科目
  • 水电费没有发票怎么报销
  • 可税前扣除的捐赠支出
  • 免抵税额增值税主表体现到哪里的
  • 分支机构增值税汇总纳税如何申报?
  • 固定资产借方表示什么意思
  • 上年度职工工资总额
  • 给客户打折账务处理
  • 支付工人保险费计入什么科目里
  • 所得税预缴资产怎么计算
  • 员工垫付公司钱怎么入账
  • symtray.exe - symtray是什么进程 有何作用
  • 当前页面的脚本发生错误是否要在此页面上继续运行脚本
  • 为什么linux这么受欢迎
  • php字段
  • 在途物资运费会计科目怎么写
  • 未开票收入本月未收款的分录
  • gridview怎么连接数据库
  • discuz手机标准版
  • 微擎框架开发小程序
  • 低值易耗品需要计提吗
  • 织梦专题页模板
  • 公司租入厂房怎么做账
  • Parcel 中文文档 | Parcel 中文网
  • 新旧会计准则口径
  • 法人如何提取公积金
  • 固定资产每月计提还是每年计提
  • 进项大于销项的会计分录怎么做?
  • 一般纳税人适用3%税率情况
  • 未取得发票如何报销
  • 残保金逾期申报了补报会有罚款和滞纳金吗?
  • 应付账款收不回发票该如何调整
  • 未完工属于什么科目
  • 纳税人为风险纳税人怎么办
  • 纸巾的发票可以抵扣进项税吗
  • 所得税汇算清缴需要调增的项目
  • 车船税收费标准
  • 缴纳社保需要办理什么手续
  • 预付调整到其他应付款
  • windows图标显示不出来
  • ssh连接虚拟机centos
  • 怎么测试windows摄像头
  • 2015微软发布会
  • centos vncviewer
  • service.exe是什么
  • win10在哪里更改用户名
  • NkbMonitor.exe - NkbMonitor是什么进程文件 有什么作用
  • win7系统开机黑屏如何处理
  • windows10总是弹出用户账户控制
  • 电脑启动项清理
  • web前端开发工具哪个好
  • Android Fragment学习笔记(2) ----使用ListFragment显示列表(上)
  • bootstrap制作的网站页面
  • 获取某个div的高度
  • 手机关卡类游戏
  • jquery手册手机版
  • javascript文字特效
  • 车位办房产证需交多少税
  • 税务上如何界定收入
  • 简易计税项目能即开简易税率发票又开适用税率发票吗
  • 股东向公司借款合法吗
  • 发票清单盖章样本图片
  • 在烟台如何发布招聘信息
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设