把小人移动到鼠标点击的位置
2016-05-07 16:31
267 查看
让人移动到鼠标点击的位置。而且移动的速度是变化的。一开始让img的图片是图片1,鼠标点击后就立马变化图片2,清除时钟,根据(event.clientY - imgPre.offsetTop)/10计算速度产生时刻变化的速度。判断小人是否已经走到鼠标点击的位置(需要有X和Y的坐标都到达才行。)清除时钟。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<img id="imgStaicId" src="img/1.gif" style=" position: absolute;top: 0px;left: 0px;"/>
</body>
<script type="text/javascript">
var imgPre = document.getElementById("imgStaicId");
var timer = null;
document.onclick = function (event){
imgPre.src = "img/2.gif";event.clientX - imgPre.offsetLeft)/10
clearInterval(timer);
timer = setInterval(function (){
var speedX = (;
var speedY = (event.clientY - imgPre.offsetTop)/10;
speedX = speedX>0?Math.ceil(speedX):Math.floor(speedX);
speedY = speedY>0?Math.ceil(speedY):Math.floor(speedY);
if(imgPre.offsetTop==event.clientY && imgPre.offsetLeft==event.clientX){
imgPre.src = "img/1.gif";
clearInterval(timer);
}else{
imgPre.style.top = imgPre.offsetTop + speedY +"px";
imgPre.style.left = imgPre.offsetLeft + speedX +"px"
}
},20);
}
</script>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<img id="imgStaicId" src="img/1.gif" style=" position: absolute;top: 0px;left: 0px;"/>
</body>
<script type="text/javascript">
var imgPre = document.getElementById("imgStaicId");
var timer = null;
document.onclick = function (event){
imgPre.src = "img/2.gif";event.clientX - imgPre.offsetLeft)/10
clearInterval(timer);
timer = setInterval(function (){
var speedX = (;
var speedY = (event.clientY - imgPre.offsetTop)/10;
speedX = speedX>0?Math.ceil(speedX):Math.floor(speedX);
speedY = speedY>0?Math.ceil(speedY):Math.floor(speedY);
if(imgPre.offsetTop==event.clientY && imgPre.offsetLeft==event.clientX){
imgPre.src = "img/1.gif";
clearInterval(timer);
}else{
imgPre.style.top = imgPre.offsetTop + speedY +"px";
imgPre.style.left = imgPre.offsetLeft + speedX +"px"
}
},20);
}
</script>
</html>
相关文章推荐
- 俄罗斯方块中方块的旋转变形
- 50030(jobtracker.jsp)监控不到eclipse提交的作业
- 将DataTable作为ListView数据源
- Form,tagName和nodeName的区别
- FileSystemWatcher使用方法
- Material Design控件使用(二)
- JSP+Servlet实现注册登录功能
- 直观理解C语言中指向一位数组与二维数组的指针
- swift 泛型
- sigprocmask函数总结
- <html>文档类型
- NYOJ - 会场安排问题
- HDU_1227_Fast Food_动态规划
- 利用arduino 控制舵机转动
- 单调旋转数组的TopK问题
- C++实验5-数组分离
- java的路径研究
- 框架选择的原因及其说明
- Elasticsearch+Logstash+Kibana教程
- 个位数统计