if(aa==iTarget){ //为什么这里用aa>=iTarget或是<=实现不了呢

来源:4-4 任意属性值(二)

new新的开始

2016-11-17 23:18

unction startMove(obj,arrt,iTarget){

clearInterval(obj.timer);//清除定时器

obj.timer=setInterval(function(){

var aa=parseInt(getStyle(obj,arrt)); //把字符串转成整数

  var speed=(iTarget-aa)/8;  //目标值减去当前的值

      speed=speed>0?Math.ceil(speed):Math.floor(speed); //当速度大于0时向上取整,否则向下取整

if(aa==iTarget){      //为什么这里用aa>=iTarget或是<=实现不了呢

clearInterval(obj.timer);

}else{

obj.style[arrt]=aa+speed+'px';

}

},30);

}


写回答 关注

1回答

  • 疯狂的boy
    2016-11-18 10:55:35
    已采纳

    if(aa==iTarget){      //为什么这里用aa>=iTarget或是<=实现不了呢,这句话意思同下:

    iTarget这个词在viviAN讲师第二章或三章的时候就讲过,speed代表是速度,而iTarget代表目标,

    比如说跑步,小明跑了aa米,iTarget目标定的是200米,吹哨子的体育老师在200米等他,当小明到了200米,老师让他停,如同这句话clearInterval(obj.timer);,相反>=和<=,目标就是200米,你跑203米和19几米,多跑和少跑有什么意义。比赛本来就是200米跑步竞赛。

    new新的开...

    想了想。>=200米。。有等于了。。。目标也不会跑到203米啊。。到200是不是也会停了呢。

    2016-11-18 19:48:45

    共 2 条回复 >

JS动画效果

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

113925 学习 · 1443 问题

查看课程

相似问题