• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JavaScript > javascript 实现小球碰撞

javascript 实现小球碰撞

作者:ruby_xc 字体:[增加 减小] 来源:互联网 时间:2017-09-27

ruby_xc通过本文主要向大家介绍了javascript等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

在指定div中运动

 

html:

<div id="box">
    <div id="ball"></div>   
</div>

css:

#ball{
            width:80px;
            height:80px;
            background: skyblue;
            border-radius: 50%;
            position:relative;
        }
        #box{
            width: 500px;
            height: 500px;
            position: absolute;
            top: 10%;
            left: 20%;
            border: 2px solid #337733;
        }

js:

var ball = document.getElementById('ball'),
            leftDis = 5;             
            topDis = 5;              
            leftMax = document.getElementById("box").clientWidth-ball.clientWidth;
            topMax = document.getElementById("box").clientHeight-ball.clientHeight;
        var box = document.getElementById("box");
        ball.style.top = Math.random()*(box.offsetTop,box.offsetHeight+box.offsetTop)+'px';
        ball.style.left = Math.random()*(box.offsetLeft,box.offsetWidth+box.offsetLeft)+'px';

        setInterval(function(){              
            var Left = ball.offsetLeft+leftDis,    
                Top = ball.offsetTop+topDis;
            if(Left>=leftMax){               
                Left = leftMax;
                leftDis = -leftDis;
                ballColor(ball);     
            }else if(Left<=0){
                Left = 0;
                leftDis = -leftDis;
                ballColor(ball);
            };
            if(Top>=topMax){
                Top = topMax;
                topDis = -topDis;
                ballColor(ball);
            }else if(Top<=0){
                Top = 0;
                topDis = -topDis;
                ballColor(ball);
            };
            ball.style.left = Left+'px';      
            ball.style.top = Top+'px';

        },30);                        

        function ballColor(obj){            
            var r = Math.floor(Math.random()*256);
                g = Math.floor(Math.random()*256);
                b = Math.floor(Math.random()*256);
               obj.style.backgroundColor = 'rgb('+r+','+g+','+b+')';
        }
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-05-11在js中做数字字符串补0(js补零)
  • 2017-05-11Node.js中的require.resolve方法使用简介
  • 2017-05-11关于vue.js过渡css类名的理解(推荐)
  • 2017-05-11bootstrap配合Masonry插件实现瀑布式布局
  • 2017-05-11jQuery Ajax实现跨域请求
  • 2017-05-11JS拉起或下载app的实现代码
  • 2017-05-11js实现打地鼠小游戏
  • 2017-10-05js 正则表达式 检查用户名、密码、电话号码
  • 2017-05-11JavaScript编写九九乘法表(两种任选)
  • 2017-09-18ES6--对象的扩展

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • BootStrap Datetimepicker 汉化的实现代码
    • bootstrap中添加额外的图标实例代码
    • 详解JS中的立即执行函数
    • 原生js实现图片放大缩小计时器效果
    • vue2.0使用Sortable.js实现的拖拽功能示例
    • javascript实现数据双向绑定的三种方式小结
    • 详解vue的数据binding绑定原理
    • 详解vue之页面缓存问题(基于2.0)
    • js实现自定义进度条效果
    • 如何用JS/HTML将时间戳转换为“xx天前”的形式

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有