CSS+JQuery 实现弹力球效果,碰到屏幕边框弹回

embedded/2024/11/23 1:46:01/

实现弹力球效果,碰到屏幕边框弹回,效果如下

代码如下:

<img src="../image/ball.png" alt="" class="ball">
<style>.ball {position: fixed;top: 50vh;left: 50vw;width: 15vw;height: 15vw;border-radius: 50%;z-index: 0;}
</style>
<script src="https://code.jquery.com/jquery-3.7.1.js"></script>
<script>const ball = document.querySelector('.ball');let posX = window.innerWidth / 2;let posY = window.innerHeight / 2;let velX = 2;let velY = 2;const friction = 0.5;let rotation = 0;const rotationSpeed = 3;function moveBall() {posX += velX;posY += velY;// Bounce off the edgesif (posX <= 0 || posX + ball.offsetWidth >= window.innerWidth) {velX = -velX * friction;posX = Math.min(Math.max(posX, 0), window.innerWidth - ball.offsetWidth);}if (posY <= 0 || posY + ball.offsetHeight >= window.innerHeight) {velY = -velY * friction;posY = Math.min(Math.max(posY, 0), window.innerHeight - ball.offsetHeight);}rotation += rotationSpeed;ball.style.left = posX + 'px';ball.style.top = posY + 'px';ball.style.transform = 'rotate(' + rotation + 'deg)';requestAnimationFrame(moveBall);}moveBall();
</script>


http://www.ppmy.cn/embedded/139273.html

相关文章

React Native的界面与交互

React Native (RN) 是一个由 Facebook 开发的开源框架&#xff0c;用于构建跨平台的移动应用程序。它允许开发者使用 JavaScript 和 React 来创建原生 iOS 和 Android 应用。RN 的出现极大地简化了移动应用的开发过程&#xff0c;使得开发者可以更快速、更高效地构建高质量的应…

【K8S系列】Kubernetes集群资源管理与调度 深度分析

在现代微服务架构中&#xff0c;Kubernetes&#xff08;K8s&#xff09;作为容器编排平台&#xff0c;提供了强大的资源管理和调度能力。然而&#xff0c;随着应用规模的扩大和复杂性增加&#xff0c;如何高效地管理和调度集群资源成为一个关键挑战。本文将深入探讨 Kubernetes…

docker 相关组成

docker 客户端 文件名 docker, 一般默认安装在 /usr/bin 目录下。 比如我们执行的 docker ps 调用的就是 docker 客户端程序。 dockerd (docker daemon)服务 文件名 dockerd&#xff0c;一般默认安装在 /usr/bin 目录下。 比如我们说的 docker 服务&#xff0c;就是在说的 …

【HAProxy11】企业级反向代理HAProxy高级功能之访问控制列表(ACL)

HAProxy 高级功能 介绍 HAProxy 高级配置及实用案例 ACL 访问控制列表&#xff08;ACL&#xff0c;Access Control Lists&#xff09;是一种基于包过滤的访问控制技术&#xff0c;它可以根据设定的条 件对经过服务器传输的数据包进行过滤(条件匹配)&#xff0c;即对接收到的…

第12章小测

一 单项选择题(6分) 1、OO中&#xff0c;对象之间的协作是通过&#xff08;&#xff09;来实现的。&#xff08;1分&#xff09; 关联 泛化 依赖 实现 消息 正确答案&#xff1a;消息 2、针对对象之间的动态联系&#xff0c;以下说法正确的是&#xff08; &#xff09;。&am…

【JavaSE】【网络编程】UDP数据报套接字编程

目录 一、网络编程简介二、Socket套接字三、TCP/UDP简介3.1 有连接 vs 无连接3.2 可靠传输 vs 不可靠传输3.3 面向字节流 vs 面向数据报3.4 双向工 vs 单行工 四、UDP数据报套接字编程4.1 API介绍4.1.1 DatagramSocket类4.1.1.1 构造方法4.1.1.2 主要方法 4.1.2 DatagramPocket…

Flutter-Web首次加载时添加动画

前言 现在web上线后首次加载会很慢&#xff0c;要5秒以上&#xff0c;并且在加载的过程中界面是白屏。因此想在白屏的时候放一个加载动画 实现步骤 1.找到web/index.html文件 2.添加以下<style>标签内容到<head>标签中 <style>.loading {display: flex;…

探索 TraceBoard:统计你的键盘按键使用情况

在数字化时代&#xff0c;键盘已经成为我们生活中不可或缺的一部分。无论是工作、学习还是娱乐&#xff0c;我们都在不断与键盘互动。然而&#xff0c;你是否曾好奇&#xff0c;自己日常使用中最常按下的是哪些键&#xff1f;一个名为 TraceBoard 的开源项目&#xff0c;它能帮…