为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我做出来的效果会抽搐?

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title></title>
	<style type="text/css">
	*{
		padding: 0;
		margin:0;
	}
	ul li{
		width: 100px;
		height: 100px;
		background:green;
		margin-bottom: 10px; 

	}
	</style>
	<script type="text/javascript">
		var timer;
	
		window.onload=function(){
			var ali=document.getElementsByTagName("li");
			for(var i=0;i<ali.length;i++){
				ali[i].timer=null;
				ali[i].onmouseover=function(){
				startMove(this,200);

			}
			 ali[i].onmouseout=function(){
				startMove(this,0);
			}
		}
			
			

			
		}
		function startMove(obj,iTarget){
				
				clearInterval(obj.timer);
				timer=setInterval(function(){
				speed=(iTarget-obj.offsetWidth)/8;	
				speed=speed>0?Math.ceil(speed):Math.floor(speed);	
				if(obj.offsetWidth==iTarget){
					
					clearInterval(obj.timer);
				}
				else{				
					obj.style.width=obj.offsetWidth+speed+'px';
				}
},50);
			}
	</script>
</head>
<body>
<ul>
	<li></li>
	<li></li>
	<li></li>
</ul>

</body>
</html>

为什么我做出来的效果会抽搐?

要怎么改?

正在回答

1 回答

因为你的timer没有绑定在元素上,看第42行,所以你一直没有真正关掉定时器;绑定后就没问题了;

1 回复 有任何疑惑可以回复我~
#1

ZXJ03 提问者

非常感谢!
2016-10-20 回复 有任何疑惑可以回复我~
#2

黑色秋水 回复 ZXJ03 提问者

互相帮助;
2016-10-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我做出来的效果会抽搐?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信