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

动画效果没有显示出来,求指错

<style type="text/css">

*{margin:0;padding:0;}

ul,li{

list-style:none;

}

    ul li{

width:200px;

height:100px;

background:yellow;

margin-bottom:20px;

}</style>

        <script>

        window.onload=function(){

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

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

odiv[i].timer=null;

odiv[i].onmouseover=function(){

startMove(this,400);}

odiv.onmouseout[i]=function(){

startMove(this,200);}

}

}

function startMove(obj,iTarget){

clearInterval(obj.timer);

obj.timer=setInterval(function(){

var speed=(iTarget-obj.offsetWidth)/8;

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

if(alpha==iTarget){

clearInterval(obj.timer);}

else{

obj.style.width=obj.offsetWidth+speed+'px';

}

}

,30)

}

        </script>

</head>


<body>

<ul>

<li></li>

<li></li>

<li></li></ul></body>

</html>


正在回答

3 回答

这个错找了好久都没看出来

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

非常感谢

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

你有好几个问题 

odiv.onmouseout[i]=function(){
startMove(this,200);}

这个地方写错了 ,改正一下

odiv[i].onmouseout=function(){
startMove(this,200);}

还有 后面startMove函数中有问题

if(alpha==iTarget){
clearInterval(obj.timer);}
else{
obj.style.width=obj.offsetWidth+speed+'px';
}

改为

if(obj.offsetWidth==iTarget){
clearInterval(obj.timer);}
else{
obj.style.width=obj.offsetWidth+speed+'px';
}


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

举报

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

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

进入课程

动画效果没有显示出来,求指错

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