关于alpha>itarget的问题

来源:2-2 JS透明度动画

9527AImm

2016-06-03 17:05

window.onload=function(){

 var odiv = document.getElementById('div1');

 odiv.onmouseover = function(){

 startmove(100);

 }

 odiv.onmouseout = function(){

 startmove(30);

 }  

}

var timer = null;

var alpha = 30;

function startmove(target){

var odiv = document.getElementById("div1");

clearInterval(timer);

timer = setInterval(function(){

var speed = 0;

if(alpha > target){

speed = -10;

}else{

speed = 10;

}

脑子已经懵掉了,求大神解释一下。target的代入值不是100和30么,,var alpha=30, 那么为什么会出现alpha>target的情况啊?就算后面alpha+=speed,那么触发onmouseover时,alpha和target的值一开始都是30,就清除计时器了啊,懵逼=。=大写

写回答 关注

2回答

  • s_nn
    2016-06-03 18:00:30
    已采纳

    会出现alpha>target的情况 —— 假如当前的值是100,但是你的目标值是30,不就是触发过了onmouseover事件了吗?要执行图形“缩回”了,即从右向左,速度不就是负值了吗?我这样说明白吗?

    9527AI...

    明白了,改成if(alpha<target){speed = 10;}else{speed = -10};后瞬间懂了,没转过弯来

    2016-06-03 18:14:29

    共 1 条回复 >

  • bchao314
    2016-06-15 14:32:53

    学习钻牛角尖的结果就是思维混乱

JS动画效果

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

113924 学习 · 1443 问题

查看课程

相似问题