登风 2015-07-07 02:58 采纳率: 100%
浏览 1508

DOM编程艺术课本中实现动画函数的一个问题

 function moveElement(elementID,final_x,final_y,interval){   
    //alert("moveElement");   
    i++;   
    if(!document.getElementById) return false;   
    if(!document.getElementById(elementID)) return false;   
    var elem = document.getElementById(elementID);   
//  alert(elem.style.left);   
//  if(elem.movement){   
//      clearTime(elem.movement);   
//  }   
    if(!elem.style.left){   

        elem.style.left = "0px";   
    }   
    if(!elem.style.top){   
        elem.style.top = "0px";   
    }   

    var xpos =parseInt(elem.style.left);//alert(xpos);   
    var ypos =parseInt(elem.style.top);//alert(ypos);   
    if(xpos==final_x&&ypos==final_y){   
        //alert("true");   
        return true;   
    }   
    //alert("xpos="+xpos+"final_x="+final_x);   
    if(xpos<final_x){   
        var dist = Math.ceil((final_x-xpos)/10);   
        xpos=xpos+dist;   
    }   
    if(xpos>final_x){   
        //alert("xpos="+xpos+"final_x="+final_x);   
        var dist = Math.ceil((xpos-final_x)/10);   
        xpos=xpos-dist;   
        //alert("xpos="+xpos+"dist="+dist);   
    }   
    if(ypos<final_y){   
        var dist = Math.ceil((final_y-ypos)/10);   
        ypos=ypos+dist;   
    }   
    if(ypos>final_y){   
        var dist = Math.ceil((ypos-final_y)/10);   
        ypos=ypos-dist;   
    }   
    elem.style.left = xpos + "px" ;//alert(xpos);   
    elem.style.top  = ypos + "px" ;   
    //alert(Math.abs(xpos));   
    var repeat = "moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")";   
    elem.movement = setTimeout(repeat,interval);   
}  

repeat怎样理解啊,求赐教

  • 写回答

2条回答

  • danielinbiti 2015-07-07 05:10
    关注
     var repeat = "moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")";   
    elem.movement = setTimeout(repeat,interval);   //settimeout的第一个参数是function,而且需要字符串括起来。repeat就是一个function方法的字符串。
    
    http://www.jb51.net/article/35535.htm
    
    评论

报告相同问题?

悬赏问题

  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛