gpt4 book ai didi

javascript - 弹跳球5次jquery/javascript初学者级别

转载 作者:行者123 更新时间:2023-11-30 18:08:31 24 4
gpt4 key购买 nike

我对 js 和 jQuery 很陌生,想实现一个简单的动画,这里已经讨论过很多次:弹跳球。但是,我没有找到我的具体问题的答案,因为已经讨论的主题要复杂得多。

我想要一个非常简单的动画:弹跳五次,第六次留在地上。到目前为止,我已经实现了这一点。但是对于五次反弹,我想将反弹距离减少初始距离的 20%。假设距离是 100,它应该先反弹到 80,然后反弹到 60... 到 20 到 0。

你可以看到我的尝试here .

或者只是这里的js代码:

$(function() {

var time = 500;
var bounces = 5;

function bounceDown(){
$(".ball").animate({top: 200}, time, function(){
bounceUp();
});
};

function bounceUp() {
$(".ball").animate({top: 100}, time);
};

function shadowUp(){
$(".shadow").animate({width: 100, height: 10, left: 85, top: 245, opacity: 1}, time,
function(){
shadowDown();
});
};

function shadowDown() {
$(".shadow").animate({width: 0, height: 0, left: 130, top: 225, opacity: 0}, time);
};

function finalDown(){
$(".ball").animate({top: 200}, time);
};

function finalShadow(){
$(".shadow").animate({width: 100, height: 10, left: 85, top: 245, opacity: 1}, time);
};

$(".button").on("click", function(){
for (var i = 0; i < bounces; i++){
setTimeout(function(){
bounceDown();
shadowUp();
}, time*2*i);
setTimeout(function(){
finalDown();
finalShadow();
}, 5000);
};
});
});

最佳答案

您可以声明您的初始 top_bounce 值:

var top_bounce = 100;

然后将您的 bounceUp 函数更改为:

function bounceUp() {
$(".ball").animate({top: top_bounce}, time);
top_bounce = top_bounce + 20;
};

就像你在这里看到的:http://jsfiddle.net/darkajax/5wASf/

关于您评论中提到的“奖金问题”,它是类似的东西,声明一个变量,如:var shadow_size = 0; 然后你的函数如下:

function shadowDown() {
console.log(shadow_size);
$(".shadow").animate({width: shadow_size*100, height: shadow_size*10, left: 110, top: 225, opacity: 0}, time);
shadow_size += 0.2;

};

你可以看到 fiddle 更新了,你也只需要对 left 做一些类似的事情,让它看起来居中

关于javascript - 弹跳球5次jquery/javascript初学者级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15205466/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com