这句代码是什么意思

来源:4-2 获取样式

叶丹青

2018-08-30 15:47

function animate(obj, json) {

  clearInterval(obj.timer);         //清理一下定时器在创建定时器

  obj.timer = setInterval(function () {

 

    //先假设 这一次执行完 所有的属性都到达目标了

 

    var flag = true;

    for (var k in json) {

      var leader = parseInt(getStyle(obj, k)) || 0;

      var target = json[k];

      var step = (target - leader) / 10;

      step = step > 0 ? Math.ceil(step) : Math.floor(step);

      leader = leader + step;

      obj.style[k] = leader + "px";

      //if (leader === target) {

      //  clearInterval(obj.timer);

      //}

      console.log("代码还在运行");

      if (leader != target) {

 

        flag = false;//告诉标记 当前这个属性还没到达

 

      }

    }

 

    //如果此时仍然为true 就说明真的都到达了

 

    if (flag) {

      clearInterval(obj.timer);

    }

  }, 15);

}

 

//全部属性都到达目标值才能清空

 

function getStyle(obj, attr) {    //获取CSS外部样式 attr=值

  if (window.getComputedStyle) {

    return window.getComputedStyle(obj, null)[attr];  //火狐谷歌上兼容

  } else {

    return obj.currentStyle[attr];             //IE上兼容

  }

}


写回答 关注

1回答

  • 丶归途
    2018-09-14 09:30:41

    哪一句?还是说是这一整段?

JS动画效果

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

113925 学习 · 1443 问题

查看课程

相似问题