为了账号安全,请及时绑定邮箱和手机立即绑定

为什么回调函数只有在鼠标移出再次移进才会执行?

function getStyle (obj,attr) {

if(obj.currentStyle){

return obj.currentStyle[attr];

}else{

return getComputedStyle(obj,null)[attr];

}

}


function startMove(obj,json,func){

var flag=true;

clearInterval(obj.timer);

obj.timer=setInterval(function(){

for(var attr in json){

//取当前值

var iCur=0;

if(attr=='opacity')

{

iCur=Math.round(parseFloat(getStyle(obj,attr))*100);

}

else{

iCur=parseInt(getStyle(obj,attr));

}

//算速度

var speed=(json[attr]-iCur)/10;

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


//判断移动是否完成

if (iCur!=json[attr]) {

flag=false;

}

if(attr=='opacity'){

obj.style.filter='alpha(opacity:'+(iCur+speed)+')';

obj.style.opacity=(iCur+speed)/100;

}else{

obj.style[attr]=iCur+speed+'px';

}

}

if(flag){

clearInterval(obj.timer);

if(func){

func();

}


}

},50)

}



正在回答

1 回答

不需要 鼠标移出,只要函数执行完毕,就会执行回调函数,鼠标不需要再移动了。可以自行测试

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么回调函数只有在鼠标移出再次移进才会执行?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信