猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
用变量和属性有什么差别吗?
简单做了一个图片抖动的方法。发现在其中声明变量来存数值和属性存数值最后结果不一样,看了好久,没看出问题出在哪里。请各位帮我解答一下。
狐的传说
浏览 512
回答 1
1回答
SMILET
从题主的代码来看,如果把pos赋值给obj中的一个属性的话,在抖动的过程中鼠标移动到元素上就会造成抖动偏移,因为每次执行shake的时候obj.pos属性都会根据当前top刷新(虽然接下来就因为“正在抖动中”跳出了函数),因此会干扰到timer中的取值,而使用局部变量则没有这个问题(timer中使用的pos变量始终是最初开始抖动时定义的那个变量)修改的话你把if (obj.onOff) { return; }提取到shake函数开头就可以避免这个问题了。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
JavaScript
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续