位置: 编程技术 - 正文

浅谈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中字符串)

  • 一般纳税人附加税优惠政策2023
  • 增值税审核表
  • 税收对国家的影响及地位
  • 公司贷款利息怎么做分录
  • 财务负责人和法人可以是夫妻吗
  • 机器配件属于什么报销项目
  • 小企业出租设备分录
  • 负数增长到正数的例子
  • 已开发票查询不到怎么回事
  • 单位社保缴费基数怎么确定
  • 可以税前扣除的商业健康保险有哪些
  • 房地产公司苗木账务处理
  • 公司名下没有车可以开运输发票吗
  • 软件开发服务费税率
  • 加工属于什么税收分类
  • 税控盘白盘和黑盘图标
  • 没有道路许可证的车子怎么处罚
  • 领用原材料的会计分录
  • 银行呆帐坏账
  • 税前可以扣除的业务招待费怎么算
  • 1697506445
  • 房地产开发企业的土地使用权计入哪里
  • 员工生育礼品
  • 增加住房收入
  • 修理厂年收入
  • 总资产净利率与权益乘数的关系
  • 亏损计提递延
  • 预付账款补付货款分录
  • 删掉广告有什么办法
  • 基于php开发
  • mac侧边栏设置
  • 小程序嵌入h5页面可以不写安全地址吗为什么
  • php生成csv文件
  • php jsondecode
  • 房地产企业土地增值税清算
  • 外购产品视同自产产品办理免抵退税的条件有哪几种
  • 阿尔比恩洞的级别
  • php soap wsdl
  • 初级农产品免税普票能否抵扣
  • gridview datakeynames
  • php中单双引号的区别
  • php获取ua
  • 购买员工宿舍用品报销
  • 为什么企业一定要上政企通
  • etc如何取票据
  • 差旅补助要计入成本吗
  • 暂缓收缴工会经费申请
  • 银行会计的基本核算方法包括的内容有
  • 公司被吊销营业执照的法律后果是什么?
  • 办公用品普通发票税点多少
  • 低值易耗品指的价格
  • 小规模纳税人免税额度是多少
  • 个人的车由公司来投保可以吗
  • 纳税人发生应税行为
  • 现金折扣方式销售货物不得从计税销售额中扣减折扣额
  • 不需要计提折旧的情况
  • 以前年度损益调整借贷方向
  • 金融企业借款费用扣除比例
  • mysql速成要多久
  • win8安装程序在哪里
  • win2003服务器管理
  • 内存不够用如何升级系统
  • vsftpd 550错误
  • 进程dwm
  • find.exe应用程序错误
  • windows7桌面右击
  • WIN10专业版怎么查看操作位数
  • 电脑ahci模式什么意思
  • JavaScript字体颜色
  • js中的正则表达式的例子
  • unity linux arm
  • shell 解析yml
  • javascript常用函数大全
  • javascript toggle
  • dom,ran
  • jquery foreach循环
  • 增值税纳税申报表附列资料(三)
  • 辽宁省国家税务总局
  • 深圳税务忘记密码
  • 河北新农合怎么查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设