Calculator Tools Calculator Tools
Create

Bouncing Question Animation

Aug 1, 2025

About this app

An engaging and colorful web animation where letters bounce forward and a question mark moves to reveal the word 'Question' with a sun icon.

Bouncing Question Animation E a s y ? ☀ Question

Related apps

Put this on your site

Source

                    <html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">

<title>Bouncing Question Animation</title>
<meta name="description" content="An engaging and colorful web animation where letters bounce forward and a question mark moves to reveal the word 'Question' with a sun icon." />
<meta name="keywords" content="animation, bouncing letters, question mark, colorful, web animation" />

<!-- Libraries -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.min.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.6.0/css/fontawesome.min.css" crossorigin="anonymous">

<script type="text/javascript">
try {
document.addEventListener("DOMContentLoaded", function() {
const letters = document.querySelectorAll('.bounce');
const questionMark = document.getElementById('question-mark');
const questionText = document.getElementById('question-text');

// Bounce Animation
letters.forEach((letter, index) => {
setTimeout(() => {
letter.classList.add('animate');
}, index * 300);
});

// Move question mark and show question text
setTimeout(() => {
questionMark.classList.add('move');
questionText.classList.add('show');
}, letters.length * 300 + 500);
});
} catch (error) {
throw error;
}
</script>

<style>
body {
background: linear-gradient(to right, #ff7e5f, #feb47b);
color: #333;
font-family: 'Arial', sans-serif;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
}
#main-container {
text-align: center;
font-size: 48px;
position: relative;
}
.bounce {
display: inline-block;
transition: transform 0.5s;
}
.animate {
transform: translateY(-30px);
animation: bounce 0.5s forwards;
}
@keyframes bounce {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-30px); }
}
#question-mark {
position: absolute;
left: 60%;
top: 20%;
font-size: 64px;
transition: left 0.5s;
}
#question-mark.move {
left: 70%;
}
#question-text {
display: none;
font-size: 48px;
margin-top: 100px;
opacity: 0;
transition: opacity 0.5s;
}
#question-text.show {
display: inline;
opacity: 1;
}
.sun-icon {
color: #ffb600;
}
</style>
</head>
<body>
<div id="main-container">
<div class="bounce">E</div>
<div class="bounce">a</div>
<div class="bounce">s</div>
<div class="bounce">y</div>
<div id="question-mark">?</div>
<div id="question-text"><span class="sun-icon">☀</span> Question</div>
</div>
</body>
</html>