请问是全局变量与局部变量的问题吗? 放在函数体内 不能消除点击增加运动速度

跃ZHD 2018-05-23 09:03:39
<script>
var oTime = null; //为何不能放在函数体内?
function move(){
//var oTime = null ????
var oDiv = document.getElementById('div1');

clearInterval(oTime);

oTime = setInterval(function(){

//先判断 如果左边坐标大于600 停止运动
if(oDiv.offsetLeft >=600){

clearInterval(oTime);
}
//否则 左边坐标+10;
else
{
var speed = 1;

oDiv.style.left = oDiv.offsetLeft+speed+'px';

}

},30);

}

</script>
...全文
808 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
天际的海浪 2018-05-23
  • 打赏
  • 举报
回复
放在函数内,在每次调用函数时都会创建一个新的oTime clearInterval(oTime);传参的是新的oTime,值是null,当然不能停止上一个函数内创建的定时器了

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧