divyanshushekhar commited on
Commit
f1cacb5
·
verified ·
1 Parent(s): 5d4271d

fab click is still not working - Follow Up Deployment

Browse files
Files changed (1) hide show
  1. index.html +58 -3
index.html CHANGED
@@ -74,10 +74,38 @@
74
 
75
  .fab-btn:active {
76
  transform: scale(0.95);
 
77
  }
78
 
79
  .fab-btn i {
80
- transition: transform 0.3s ease;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
81
  }
82
 
83
  .fab-menu {
@@ -1195,19 +1223,46 @@
1195
 
1196
  fabBtn.addEventListener('click', function(e) {
1197
  e.stopPropagation();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1198
  fabOpen = !fabOpen;
1199
 
1200
  if (fabOpen) {
1201
  fabMenu.classList.add('active');
1202
  fabIcon.classList.replace('fa-plus', 'fa-times');
1203
- fabBtn.style.transform = 'scale(1.05)';
1204
  fabBtn.style.boxShadow = '0 8px 20px rgba(33, 150, 243, 0.5)';
1205
  } else {
1206
  fabMenu.classList.remove('active');
1207
  fabIcon.classList.replace('fa-times', 'fa-plus');
1208
- fabBtn.style.transform = '';
1209
  fabBtn.style.boxShadow = '';
1210
  }
 
 
 
 
1211
  });
1212
 
1213
  // Close FAB menu when clicking outside
 
74
 
75
  .fab-btn:active {
76
  transform: scale(0.95);
77
+ transition: transform 0.15s ease-out;
78
  }
79
 
80
  .fab-btn i {
81
+ transition: transform 0.2s ease-in-out;
82
+ }
83
+
84
+ .fab-btn:hover {
85
+ transform: scale(1.05);
86
+ filter: brightness(1.1);
87
+ box-shadow: 0 8px 20px rgba(33, 150, 243, 0.4);
88
+ }
89
+
90
+ .fab-active i {
91
+ transform: rotate(45deg);
92
+ }
93
+
94
+ /* Ripple effect */
95
+ .fab-ripple {
96
+ position: absolute;
97
+ border-radius: 50%;
98
+ background-color: rgba(255, 255, 255, 0.3);
99
+ transform: scale(0);
100
+ animation: ripple 0.3s ease-out;
101
+ pointer-events: none;
102
+ }
103
+
104
+ @keyframes ripple {
105
+ to {
106
+ transform: scale(4);
107
+ opacity: 0;
108
+ }
109
  }
110
 
111
  .fab-menu {
 
1223
 
1224
  fabBtn.addEventListener('click', function(e) {
1225
  e.stopPropagation();
1226
+
1227
+ // Create ripple effect
1228
+ const ripple = document.createElement('span');
1229
+ ripple.className = 'fab-ripple';
1230
+ const rect = this.getBoundingClientRect();
1231
+ const size = Math.max(rect.width, rect.height);
1232
+ ripple.style.width = ripple.style.height = size + 'px';
1233
+ ripple.style.left = e.clientX - rect.left - size/2 + 'px';
1234
+ ripple.style.top = e.clientY - rect.top - size/2 + 'px';
1235
+ this.appendChild(ripple);
1236
+
1237
+ // Remove ripple after animation
1238
+ setTimeout(() => {
1239
+ ripple.remove();
1240
+ }, 300);
1241
+
1242
+ // Scale animation
1243
+ this.style.transform = 'scale(0.95)';
1244
+ setTimeout(() => {
1245
+ this.style.transform = 'scale(1)';
1246
+ this.style.transition = 'transform 0.1s ease-in';
1247
+ }, 150);
1248
+
1249
  fabOpen = !fabOpen;
1250
 
1251
  if (fabOpen) {
1252
  fabMenu.classList.add('active');
1253
  fabIcon.classList.replace('fa-plus', 'fa-times');
1254
+ fabBtn.classList.add('fab-active');
1255
  fabBtn.style.boxShadow = '0 8px 20px rgba(33, 150, 243, 0.5)';
1256
  } else {
1257
  fabMenu.classList.remove('active');
1258
  fabIcon.classList.replace('fa-times', 'fa-plus');
1259
+ fabBtn.classList.remove('fab-active');
1260
  fabBtn.style.boxShadow = '';
1261
  }
1262
+
1263
+ setTimeout(() => {
1264
+ this.style.transition = '';
1265
+ }, 250);
1266
  });
1267
 
1268
  // Close FAB menu when clicking outside