js模拟小球重力回弹效果

本文介绍如何用JavaScript模拟小球的重力下降及碰撞反弹效果。通过CSS设置基本场景,如容器尺寸和背景色,然后用JS为小球添加动态行为,使其在容器内上下运动,真实呈现物理世界的重力与反弹现象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

.cont{
width: 1000px;
height: 600px;
background: #eee;
margin: 20px auto;
position: relative;
}
.box{width: 100px;height: 100px;background: red;position: absolute;left: 0;border-radius: 50%;}




// 目标1: 让小球从上面落下来
// 准备:获取节点,绑定事件
var contObj = document.querySelector(’.cont’);
var boxObj = document.querySelector(’.box’);
document.onclick =()=>{
// 1 设置每次增加值的步长
var speed = 10;
// 2 重力加速的值
var g=2;
// 3 获取最大的top值,(下落最大高度)
// 用cont的高度减去box的高度
var target = contObj.offsetHeight - boxObj.offsetHeight;
// 4 设置定时器,让小球的top值,累加speed
var times = setInterval(()=>{
speed+=g;
// 5 判断小球是否下落到最大高度,是则停止下落
//
if((boxObj.offsetTop+speed)>target){
// console.log(target)
// console.log(boxObj.offsetTop);
// console.log(speed)
//目标:实现回弹,top值减小
//6 将spe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值