问答详情
源自:2-2 JS透明度动画

关于alpha>itarget的问题

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,就清除计时器了啊,懵逼=。=大写

提问者:9527AImm 2016-06-03 17:05

个回答

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

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

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

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