求大神帮忙,为毛我的没有反应

来源:4-1 JS多物体动画

QAQQQQ

2015-07-25 15:50

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
*{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 oli=document.getElementsByTagName('li');
 for(var i=0;i=oli.length;i++){
  oli[i].onmouseover=function(){
   startMove(this,400);
   };
  oli[i].onmouseout=function(){
   startMove(this,200);
   };
  }
 }
var timer=null;

function startMove(obj,itarget){
 document.write("hshs");
  clearInterval(timer);
  timer=setInterval(function(){
   var speed=(itarget-obj.offsetWidth)/8;
   speed=speed>0?Math.ceil(speed):Math.floor(speed);
   if(obj.offsetWidth==itarget){
    clearInterval(timer);
    }else{
     obj.style.width=obj.offsetWidth+speed+'px';
     }
   },30)
  
  
  }
</script>
</head>

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

写回答 关注

3回答

  • 前端猫人
    2015-07-26 18:17:52
    已采纳
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <style>
    *{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 oli=document.getElementsByTagName('li');
     for(var i=0;i<oli.length;i++){
      oli[i].timer=null;//给每一个li都设置一个定时器,有点添加属性的意思
      oli[i].onmouseover=function(){
       startMove(this,400);
       };
      oli[i].onmouseout=function(){
       startMove(this,200);
       };
      }
     }
    //var timer=null;
    function startMove(obj,itarget){
      //document.write("hshs");
      clearInterval(obj.timer);//防止定时器重复触发
      obj.timer=setInterval(function(){
      var speed=(itarget-obj.offsetWidth)/8;
      speed=speed>0?Math.ceil(speed):Math.floor(speed);
      if(obj.offsetWidth==itarget){
        clearInterval(obj.timer);//这里也需要改为obj.timer
        }else{
         obj.style.width=obj.offsetWidth+speed+'px';
         }
       },30)
      
      
      }
    </script>
    </head>
    <body>
    <ul>
        <li></li>
        <li></li>
        <li></li>
    </ul>
    </body>
    </html>

    你看我给你注释的地方,你的都有问题,我已经帮你改过来了~~~~~~~~~(*^__^*) 嘻嘻……

    QAQQQQ

    thank you!!!

    2015-08-17 09:32:59

    共 1 条回复 >

  • weibo_怎能用真名_0
    2015-08-05 09:22:06

    没有动的原因是因为你的for循环条件有问题

  • 前端猫人
    2015-07-26 18:20:55

    你的定时器只有一个是公用的,没有给每一个li都设置~~~望采纳~

JS动画效果

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

113925 学习 · 1443 问题

查看课程

相似问题