html弹球代码,JS弹弹球

2023-10-25 05:59
文章标签 代码 js html frontend 弹球

本文主要是介绍html弹球代码,JS弹弹球,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

00a3c98495828dc2dcbe47cd0220d222.png

HtmlCssJs

* {

margin:0;

padding:0;

font-family:Microsoft YaHei,serif;

}

li {

list-style:none;

}

.ball {

position:absolute;

top:0;

left:0;

width:100px;

height:100px;

background:pink;

border-radius:50%;

}

play(10);

function play(num) {

//生成num个div

for (var i = 0; i < num; i++) {

var Div = document.createElement("div");

Div.className = "ball";

Div.leftVal = 3 + i; //预存每个球的初始速度

Div.topVal = 3 + i; //预存每个球的初始速度

Div.style.backgroundColor = randomC();

document.body.appendChild(Div);

}

var aBall = document.querySelectorAll(".ball");

maxTop = document.documentElement.clientHeight - aBall[0].clientHeight, //获取top的最大值

maxLeft = document.documentElement.clientWidth - aBall[0].clientWidth; //获取left的最大值

window.onresize = function() {

maxTop = document.documentElement.clientHeight - aBall[0].clientHeight; //获取top的最大值

maxLeft = document.documentElement.clientWidth - aBall[0].clientWidth; //

};

auto();

function auto() {

for (var i = 0; i < num; i++) {

var Ball = aBall[i],

startL = Ball.offsetLeft, //取每个球的初始left和TOP值

startT = Ball.offsetTop, //取每个球的初始left和TOP值

Left = startL + Ball.leftVal, //改变,每个球的left和top值

Top = startT + Ball.topVal; //改变,每个球的left和top值

if (Left >= maxLeft || Left <= 0) {

Left = Math.min(Left, maxLeft); //限制Left的最大值

Left = Math.max(Left, 0); //限制最小值

Ball.leftVal = -Ball.leftVal;

Ball.style.backgroundColor = randomC();

}

if (Top >= maxTop || Top <= 0) {

Ball.topVal = -Ball.topVal;

Top = Math.min(Top, maxTop); //限制Left的最大值

Top = Math.max(Top, 0); //限制最小值

Ball.style.backgroundColor = randomC();

}

Ball.style.top = Top + "px";

Ball.style.left = Left + "px";

}

requestAnimationFrame(auto)

}

// rgb(0-255)

function randomC() {

var r = Math.floor(Math.random() * 256),

g = Math.floor(Math.random() * 256),

b = Math.floor(Math.random() * 256);

return "rgb(" + r + "," + g + "," + b + ")";

}

}

↑上面代码改变,会自动显示代码结果

jQuery调用版本:2.1.4

JS弹弹球-www.sucainiu.com

c1e6dd0be441b5973da8294e4fbb447c.png

积分说明:注册即送15牛币,每日签到可获得5牛币,成为VIP会员可永久免牛币下载!   充值积分   充值会员   更多说明»

代码描述:根据浏览器视窗变化范围的弹弹球

球球的个数与速度在这里:

play(10);

function play(num) {

//生成num个div

for (var i = 0; i < num; i++) {

var Div = document.createElement("div");

Div.className = "ball";

Div.leftVal = 3 + i; //速度(水平)

Div.topVal = 3 + i;

/速度(垂直)

Div.style.backgroundColor = randomC();

document.body.appendChild(Div);

}

这篇关于html弹球代码,JS弹弹球的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/280487

相关文章

使用Python和PaddleOCR实现图文识别的代码和步骤

《使用Python和PaddleOCR实现图文识别的代码和步骤》在当今数字化时代,图文识别技术的应用越来越广泛,如文档数字化、信息提取等,PaddleOCR是百度开源的一款强大的OCR工具包,它集成了... 目录一、引言二、环境准备2.1 安装 python2.2 安装 PaddlePaddle2.3 安装

SpringBoot中四种AOP实战应用场景及代码实现

《SpringBoot中四种AOP实战应用场景及代码实现》面向切面编程(AOP)是Spring框架的核心功能之一,它通过预编译和运行期动态代理实现程序功能的统一维护,在SpringBoot应用中,AO... 目录引言场景一:日志记录与性能监控业务需求实现方案使用示例扩展:MDC实现请求跟踪场景二:权限控制与

利用Python调试串口的示例代码

《利用Python调试串口的示例代码》在嵌入式开发、物联网设备调试过程中,串口通信是最基础的调试手段本文将带你用Python+ttkbootstrap打造一款高颜值、多功能的串口调试助手,需要的可以了... 目录概述:为什么需要专业的串口调试工具项目架构设计1.1 技术栈选型1.2 关键类说明1.3 线程模

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

Java的栈与队列实现代码解析

《Java的栈与队列实现代码解析》栈是常见的线性数据结构,栈的特点是以先进后出的形式,后进先出,先进后出,分为栈底和栈顶,栈应用于内存的分配,表达式求值,存储临时的数据和方法的调用等,本文给大家介绍J... 目录栈的概念(Stack)栈的实现代码队列(Queue)模拟实现队列(双链表实现)循环队列(循环数组

HTML5中的Microdata与历史记录管理详解

《HTML5中的Microdata与历史记录管理详解》Microdata作为HTML5新增的一个特性,它允许开发者在HTML文档中添加更多的语义信息,以便于搜索引擎和浏览器更好地理解页面内容,本文将探... 目录html5中的Mijscrodata与历史记录管理背景简介html5中的Microdata使用M

html5的响应式布局的方法示例详解

《html5的响应式布局的方法示例详解》:本文主要介绍了HTML5中使用媒体查询和Flexbox进行响应式布局的方法,简要介绍了CSSGrid布局的基础知识和如何实现自动换行的网格布局,详细内容请阅读本文,希望能对你有所帮助... 一 使用媒体查询响应式布局        使用的参数@media这是常用的

HTML5表格语法格式详解

《HTML5表格语法格式详解》在HTML语法中,表格主要通过table、tr和td3个标签构成,本文通过实例代码讲解HTML5表格语法格式,感兴趣的朋友一起看看吧... 目录一、表格1.表格语法格式2.表格属性 3.例子二、不规则表格1.跨行2.跨列3.例子一、表格在html语法中,表格主要通过< tab

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析