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

大家帮忙看看呗

window.onload=function(){

var aLi=document.getElementsByTagName('li');

for(var i=0;i<aLi.length;i++){

aLi[i].timer=null;

aLi[i].onmouseover=function(){

startMove(this,400);

}

aLi[i].onmouseout=function(){

startMove(this,200);

}

}

}


function getStyle(obj,attr)

{

if(obj.currentStyle){return obj.currentStyle[attr];}//IE


else{return getComputedStyle(obj,false)[attr];}//firefox

}

function startMove(obj,iTarget){

var icur=parseInt(getStyle(obj,'height'))

clearInterval(obj.timer);

obj.timer=setInterval(function(){

var speed=(iTarget-icur);

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

if(icur==iTarget){clearInterval(obj.timer);}

else{obj.style.height= icur + speed +'px';}

},30);

}

怎么啦,哪里出错了啊,感觉用style就不出效果,offset可以

正在回答

1 回答

aLi[i].timer=null;首先说一下,timer是节点自定义属性,不需要初始化为null;你应该去看看width、clientWidth、offsetWidth的定义。

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

举报

0/150
提交
取消
JS动画效果
  • 参与学习       113931    人
  • 解答问题       1443    个

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

进入课程

大家帮忙看看呗

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