Skip to content

Commit b353bdd

Browse files
Merge pull request #733 from doctor-rutvik14/feature-like-animation
Added a new feature: Like button with animation and dynamic counter.
2 parents 7cf6d2b + 771a799 commit b353bdd

File tree

3 files changed

+79
-0
lines changed

3 files changed

+79
-0
lines changed

like-button-animation/index.html

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>Like Button Animation</title>
7+
<link rel="stylesheet" href="style.css">
8+
</head>
9+
<body>
10+
<div class="container">
11+
<button class="like-button" id="like-button">
12+
<span class="heart" id="heart">❤️</span> Like
13+
</button>
14+
<p id="like-count">0 Likes</p>
15+
</div>
16+
<script src="main.js"></script>
17+
</body>
18+
</html>

like-button-animation/main.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
const likeButton = document.getElementById("like-button");
2+
const heart = document.getElementById("heart");
3+
const likeCount = document.getElementById("like-count");
4+
5+
let count = 0;
6+
7+
likeButton.addEventListener("click", () => {
8+
count++;
9+
likeCount.textContent = `${count} Likes`;
10+
11+
// Add 'active' class to trigger animation
12+
likeButton.classList.toggle("active");
13+
14+
// Remove class after animation ends
15+
setTimeout(() => {
16+
likeButton.classList.toggle("active");
17+
}, 300); // Match the duration in CSS for animation
18+
});

like-button-animation/style.css

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
body {
2+
font-family: Arial, sans-serif;
3+
background-color: #f0f0f0;
4+
display: flex;
5+
justify-content: center;
6+
align-items: center;
7+
height: 100vh;
8+
margin: 0;
9+
}
10+
11+
.container {
12+
text-align: center;
13+
}
14+
15+
.like-button {
16+
background-color: #007bff;
17+
color: white;
18+
border: none;
19+
border-radius: 5px;
20+
padding: 10px 20px;
21+
font-size: 16px;
22+
cursor: pointer;
23+
transition: background-color 0.3s ease;
24+
position: relative;
25+
}
26+
27+
.like-button:hover {
28+
background-color: #0056b3;
29+
}
30+
31+
.heart {
32+
display: inline-block;
33+
font-size: 24px;
34+
transition: transform 0.2s ease;
35+
}
36+
37+
.like-button.active .heart {
38+
transform: scale(1.5);
39+
}
40+
41+
.like-button.active {
42+
background-color: #f32a6d;
43+
}

0 commit comments

Comments
 (0)