本文通过具体实例解析JavaScript基础运动框架的核心逻辑。重点阐述了在启动运动前关闭已有定时器以消除叠加Bug,以及将运动执行与停止判断分离的重要性。代码展示了如何利用setInterval和clearInterval实现元素的平滑移动,并针对多次点击按钮导致的定时器冲突提供了标准解决方案。
JavaScript运动框架核心逻辑
本文通过具体实例解析JavaScript基础运动框架的核心逻辑。
在实现过程中需特别注意以下关键点:
1. 在开始运动时关闭已有的定时器 2. 把运动和停止隔开
运动框架代码实现
具体实现代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
#div1{
width: 200px;
height: 200px;
background: red;
position: absolute;
left:0;
top:60px;
}
</style>
<script type="text/javascript">
window.onload=function(){
var oDiv=document.getElementById("div1");
var oBt=document.getElementsByTagName('input')[0];
var time=null;
oBt.onclick=function(){
clearInterval(time);//这里首先要关闭一个定时器,这是因为解决在运动过程中多次点击按钮从而产生多个定时器叠加的bug
time=setInterval(function(){
var speed=7;
if(oDiv.offsetLeft<=600)
oDiv.style.left=oDiv.offsetLeft+speed+'px';
else{
clearInterval(time);
}
},30);
}
}
</script>
</head>
<body>
<input type="button" value="开始运动" />
<div id="div1"></div>
</body>
</html>
希望本文所述对大家的javascript程序设计有所帮助。