Learn how to create a fun dice roll app using JavaScript in this easy-to-follow tutorial. Perfect for beginners and web designers looking to enhance their skills. Join us now and build your own interactive dice game! Like, comment, and subscribe for more coding and web design tutorials. Let's get rolling!
<!DOCTYPE html>
<html>
<head>
<title>Tutorial</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="dice-container">
<div class="dice-text" id="diceText"></div>
<div class="dice-icon" id="diceResult"></div>
<button class="roll-button" onclick="rollDiceWithAnimation()">Roll the Dice</button>
</div>
<script src="script.js"></script>
</body>
</html>
styles.css
body{
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
background-color: #f7efef;
}
.dice-container{
background-color: #fff;
box-shadow: 2px 7px 37px 3px rgba(0,0,0,0.2);
width: 350px;
height: 350px;
border-radius: 25px;
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
text-align: center;
}
.dice-icon{
font-size: 96px;
color: #00d2a8;
margin-bottom: 8px;
opacity: 0;
transition: opacity 0.2s ease ease-in-out;
}
.dice-text{
font-family: Arial, Helvetica, sans-serif;
font-size: 24px;
font-weight: bold;
color: #34495e;
margin-bottom: 36px;
}
.roll-button{
letter-spacing: 1px;
font-size: 25px;
font-weight: bold;
background-color: #3498db;
color: #fff;
padding: 15px 25px;
border: none;
border-radius: 15px;
cursor: pointer;
}
.roll-button:hover{
background-color: #2980b9;
}
styles.css
function rollDiceWithAnimation(){
const diceIcons = [
'fas fa-dice-one',
'fas fa-dice-two',
'fas fa-dice-three',
'fas fa-dice-four',
'fas fa-dice-five',
'fas fa-dice-six'
];
const diceResultElement = document.getElementById('diceResult');
const diceTextElement = document.getElementById('diceText');
diceResultElement.style.opacity = '0';
diceTextElement.textContent = '';
let start = null;
let duration = 3500;
function animate(timestamp){
if(!start) start = timestamp;
let progress = timestamp - start;
let opacity = progress / duration;
diceResultElement.style.opacity = opacity;
if (progress < duration){
requestAnimationFrame(animate);
} else {
clearInterval(animationInterval);
const randomDiceIndex = Math.floor(Math.random() * diceIcons.length);
diceResultElement.innerHTML = ``;
diceTextElement.textContent = `Your Dice Number is: ${randomDiceIndex + 1}`;
}
}
let animationInterval = setInterval(() => {
const randomDiceIndex = Math.floor(Math.random() * diceIcons.length);
diceResultElement.innerHTML = ``;
}, 80);
requestAnimationFrame(animate);
}
Watch Tutorial Video Here!
Comments
Post a Comment