js运动小球碰壁反弹

1、触碰窗口壁沿反弹,同时改变颜色

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>碰壁反弹</title><style>#box {margin: 50px auto 0;width: 800px;height: 600px;border: 2px solid #ccc;position: relative;}#subbox {width: 50px;height: 50px;position: absolute;border-radius: 50%;top: 0;left: 0;background-color: lightblue;}</style>
</head><body><div id="box"><div id="subbox"></div></div></body></html>
<script>var box = document.getElementById('box');var subbox = document.getElementById('subbox');var leftMax = 800 - subbox.clientWidth;var topMax = 600 - subbox.clientHeight;// 定时器var lTor = null;// 每次变化的像素值var lengLeft = 5;var lengTop = 5;console.log(topMax);console.log(leftMax);function leftToRight() {var Left = subbox.offsetLeft + lengLeft;var Top = subbox.offsetTop + lengTop;if (Left >= leftMax) {Left = leftMax;lengLeft = -lengLeft;changeColor(subbox);} else if (Left <= 0) {Left = 0;lengLeft = -lengLeft;changeColor(subbox);};if (Top >= topMax) {Top = topMax;lengTop = -lengTop;changeColor(subbox);} else if (Top <= 0) {Top = 0;lengTop = -lengTop;changeColor(subbox);}subbox.style.top = Top + "px";subbox.style.left = Left + "px";}function changeColor(obj) {var a = Math.floor(Math.random() * 255);var b = Math.floor(Math.random() * 255);var c = Math.floor(Math.random() * 255);obj.style.background = "rgb(" + a + "," + b + "," + c + ")";return obj;}box.onclick = function () {// clearInterval(lTor);lTor = setInterval(function () {leftToRight();}, 25)}
</script>

js运动小球碰壁反弹相关推荐

  1. 小球碰壁反弹加分_Javascript:Canvas的小球碰壁反弹

    (萌新),我今天在网上看了看如何在Canvas画布上做出小球碰壁反弹的效果,然后自己试做一下,感觉良好,不知道还有什么需要改良. 首先我的思路是: 1.在body创建一个canvas标签,设置宽:50 ...

  2. 小球碰壁反弹加分_用Java实现小球碰壁反弹的简单实例(算法十分简单)

    用Java实现小球碰壁反弹的简单实例(算法十分简单) 核心代码如下: if(addX){ x+=3; }else{ x-=3; } if(addY){ y+=6; }else{ y-=6; } if( ...

  3. js 小球碰壁反弹and小球碰撞

    好像好几天没有更博了呢,最近有点变懒了,这样不好,不好~~我们要做热爱学习的好孩子,嘻嘻,今天下午补上... 我们在学习js的时候,一个很经典的案例就是小球的碰壁反弹效果啦~简单的小球碰壁效果可以慢慢 ...

  4. 小球碰壁反弹加分_js中小球碰壁反弹

    二. 整个浏览器可视区域的碰壁反弹 margin:0; padding:0; } #bounce{ height: 50px; width: 50px; border-radius: 50%;/*ba ...

  5. 小球碰壁反弹加分_高中物理竞赛典型例题精讲——小球盖子不断反弹速度

    04-02-11_小球盖子不断反弹速度 本期高中物理竞赛试题,我们共同来研究一个动量守恒定律在复杂运动过程中的综合应用实例,本题的物理场景虽然简单,但是题目的设计者将一个原本简单的运动过程通过一个非常 ...

  6. 小球碰壁反弹加分_汇编课程设计——小球碰壁

    汇编语言程序设计 课程设计说明书 一.需求分析 功能需求: 对小球的描绘. 移动以及碰撞反弹的运动情况. 画球的主要思路是画出圆心 相同. 半径依次递减的圆组合起来即可得到一个球, 其核心算法是 Br ...

  7. 小球碰壁反弹加分_canvas实现碰壁反弹(小球)

    Document canvas { box-shadow: 0 0 5px red; display: block; margin: 20px auto; } var cv = document.qu ...

  8. c语言小球反弹碰壁发出声音,求VB小球碰壁反弹的代码,谢谢

    匿名用户 1级 2012-03-26 回答 加一个picture1,timer1 Option Explicit Private Const BallR = 200 Private Const Bal ...

  9. 用Java实现小球碰壁反弹

    核心代码如下: if(addX){ x+=3; }else{ x-=3; } if(addY){ y+=6; }else{ y-=6; } if(x<=0||x>=(width-50)){ ...

最新文章

  1. IOI2011 BZOJ2600 ricehub
  2. MATLAB在温室中的应用,基于MATLAB的日光温室内气温的图形显示方法与流程
  3. 游戏服务器出现问题怎么维护权益,游戏服务器出问题怎么解决
  4. ML.NET Cookbook:(20)我如何定义自己的数据转换?
  5. oracle 中文脚本,ORACLE常用脚本
  6. 如何看待自己写的烂代码
  7. 记住:永远不要在MySQL中使用“utf8”,请使用“utf8mb4” 程序员
  8. 不同存储结构的文件磁盘io操作次数_MySQL InnoDB存储引擎
  9. 【报告分享】85后、95后宝妈人群洞察报告.pdf(附下载链接)
  10. 华为郑叶来:致敬开发者,共创“ AI ”的世界
  11. 问题: 在Multisim中的 Tools»Show Breadboard,我找不到面包板视图的选项。
  12. Springboot旧衣捐赠平台设计与实现 p40x5计算机毕业设计-课程设计-期末作业-毕设程序代做
  13. 如何免费下载IEEE文章!
  14. dz论坛 修改用户名
  15. mySQL下载后的初次使用
  16. 杜洋单片机c语言,杜洋工作室 DoYoung Studio
  17. SAPUI5学习第五天-----(08)页面控件:Pages and Panels,Shell Control as Container,Margins and Paddings
  18. 【前端】text/javascript与application/javascript的区别
  19. 教你制作XP主题一键安装包
  20. 数据仓库开发之路--时间维度的创建

热门文章

  1. 实验三 迷宫游戏开发
  2. PHP中time(),date(),microtime()三者的区别
  3. 数学术语——内积(inner product)
  4. 率先完成息安全产品百万级装车应用,为辰信安完成新一轮融资
  5. 推荐系统算法--ItemCF--MF(ALS)--FF
  6. PTA(每日一题)7-49 互质数
  7. 2010年安防企业与事件盘点
  8. XPath下载与安装
  9. spring-rabbit的使用
  10. 《CSDN 涨粉攻略》11个涨粉方法,你学会了几个?