关于js制作侧拉动画的问题

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<style type="text/css">
	*{
		margin:0;
		padding:0;
	}
		#sdiv{
			width: 200px;
			height:200px;
			background-color:skyblue;
			float:left;
		}
		#div{
			width: 300px;
			height:200;
			position:relative;
			left: -200px;
		}
		#span{
			float:left;
			font-size: 20px;
			background: #456;
			margin-top: 80px;
			line-height: 18px;
		}
	</style>

	<script type="text/javascript">
	window.onload=function(){
		var span=document.getElementById("span");
		var div=document.getElementById("div");
		var sdiv=document.getElementById("sdiv");


		span.onmouseover=function(){
			move(0);
		}
		sdiv.onmouseout=function(){
			move(-200)
		}
	}

	function move(target){
		var div=document.getElementById("div");
		var speed=0;
		clearInterval(timer);
		var timer=setInterval(function(){
			if (div.offsetLeft==target) {
				clearInterval(timer)
			}else if(div.offsetLeft<target){
				speed = 10;
				div.style.left=div.offsetLeft+speed+"px";
			}else if(div.offsetLeft>target){
				speed = -10;
				div.style.left=div.offsetLeft+speed+"px"
			};
		},30)
	}
	</script>
</head>
<body>
<div id="div">
	<div id="sdiv"></div>
	<span id="span">分<br/>享</span>
</div>
	
</body>
</html>

一个onmouseover和onmouseout触发的动画,

但在同时触发时(比如移开sdiv时同时经过span的动画还在执行)会给target输入两个值,

如何解决这个问题?


MR158
浏览 1386回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP