猿问

为什么_animate()以及赋值marginLeft要写在else里面

	setTimeout(function (){
		var currentLen = parseInt(num.style.marginLeft,10);
		if(currentLen == len){
			resolve();
		}
		else{
			if(currentLen <len){
				currentLen++;
			}
			else{
				currentLen--;
			}
		}
		num.style.marginLeft = currentLen +'px';
		__animate();
	},10)

如题,为什么要写在里面,写在else外,只要当前marginleft值不等于要求的长度,写在外面不也是会执行的么,只是先后顺序不同,但是实际小球只动了3次,很不理解为什么会这样。


Conqueror1st
浏览 1457回答 1
1回答

Conqueror1st

不用promise方法,用老师视频开头的那个方法的话就不会出问题
随时随地看视频慕课网APP
我要回答