Aleksandr Sashka commited on
Commit
9783b3a
·
verified ·
1 Parent(s): e639737

Promote version fd3aaaf to main

Browse files

Promoted commit fd3aaaf85e30b9c996d2ac284cc2946a5ef13800 to main branch

Files changed (1) hide show
  1. index.html +63 -85
index.html CHANGED
@@ -238,27 +238,10 @@ background: #000;
238
  animation: spin 3s linear infinite;
239
  }
240
  @keyframes spin {
241
- 0% { transform: translateY(0); }
242
  100% { transform: translateY(calc(-100% + 80px)); }
243
  }
244
-
245
- .hovered-element {
246
- transition: all 0.3s ease;
247
- }
248
-
249
- .hovered-element:hover {
250
- transform: scale(1.05);
251
- }
252
-
253
- #win-message {
254
- animation: pulse 0.5s infinite alternate;
255
- }
256
-
257
- @keyframes pulse {
258
- from { opacity: 0.5; transform: scale(0.95); }
259
- to { opacity: 1; transform: scale(1.05); }
260
- }
261
- /* Header styles */
262
  .nav-link {
263
  position: relative;
264
  font-weight: 500;
@@ -438,52 +421,56 @@ transition: max-height 0.5s ease-in-out;
438
  </div>
439
  </div>
440
  </div>
 
441
  <!-- Slot Machine Demo -->
442
- <div class="slot-machine max-w-md mx-auto hovered-element">
443
  <h3 class="text-center text-xl font-bold mb-4 gold-text">Попробуй удачу!</h3>
444
- <div class="flex justify-center space-x-2 mb-4 hovered-element">
445
- <div class="reel w-20 overflow-hidden hovered-element">
446
- <div class="reel-content" id="reel1">
447
- <div class="h-20 flex items-center justify-center text-3xl hovered-element">🍒</div>
448
  <div class="h-20 flex items-center justify-center text-3xl">🍋</div>
449
  <div class="h-20 flex items-center justify-center text-3xl">🍊</div>
450
  <div class="h-20 flex items-center justify-center text-3xl">🍇</div>
451
  <div class="h-20 flex items-center justify-center text-3xl">💎</div>
452
  <div class="h-20 flex items-center justify-center text-3xl">7️⃣</div>
 
453
  <div class="h-20 flex items-center justify-center text-3xl">🍒</div>
454
  </div>
455
  </div>
456
- <div class="reel w-20 overflow-hidden hovered-element">
457
- <div class="reel-content" id="reel2">
458
- <div class="h-20 flex items-center justify-center text-3xl hovered-element">🍋</div>
459
  <div class="h-20 flex items-center justify-center text-3xl">🍊</div>
460
  <div class="h-20 flex items-center justify-center text-3xl">🍇</div>
461
  <div class="h-20 flex items-center justify-center text-3xl">💎</div>
462
  <div class="h-20 flex items-center justify-center text-3xl">7️⃣</div>
463
  <div class="h-20 flex items-center justify-center text-3xl">🍒</div>
 
464
  <div class="h-20 flex items-center justify-center text-3xl">🍋</div>
465
  </div>
466
  </div>
467
- <div class="reel w-20 overflow-hidden hovered-element">
468
- <div class="reel-content" id="reel3">
469
- <div class="h-20 flex items-center justify-center text-3xl hovered-element">🍊</div>
470
  <div class="h-20 flex items-center justify-center text-3xl">🍇</div>
471
  <div class="h-20 flex items-center justify-center text-3xl">💎</div>
472
  <div class="h-20 flex items-center justify-center text-3xl">7️⃣</div>
473
  <div class="h-20 flex items-center justify-center text-3xl">🍒</div>
474
  <div class="h-20 flex items-center justify-center text-3xl">🍋</div>
 
475
  <div class="h-20 flex items-center justify-center text-3xl">🍊</div>
476
  </div>
477
  </div>
478
- </div>
479
- <button id="spin-button" class="w-full btn-gold font-bold mt-4 hovered-element">
480
- КРУТИТЬ (БЕСПЛАТНО)
481
- </button>
482
- <p class="text-center text-xs text-yellow-300 mt-2 hovered-element">
483
- Попробуйте удачу! Совпадение 3 символов - выигрыш!
484
- </p>
485
- </div>
486
  </div>
 
 
 
 
 
 
 
 
487
  </section>
488
 
489
  <!-- Bonuses Section -->
@@ -889,59 +876,50 @@ document.querySelectorAll('a[href^="#"]').forEach(anchor => {
889
  }
890
  });
891
  });
892
- // Slot Machine Functionality
893
- document.addEventListener('DOMContentLoaded', function() {
894
- const spinButton = document.getElementById('spin-button');
895
- const reels = [document.getElementById('reel1'),
896
- document.getElementById('reel2'),
897
- document.getElementById('reel3')];
898
- const symbols = ['🍒', '🍋', '🍊', '🍇', '💎', '7️⃣'];
899
 
900
- function getRandomSymbol() {
901
- return symbols[Math.floor(Math.random() * symbols.length)];
902
- }
903
-
904
- spinButton.addEventListener('click', function() {
905
- spinButton.disabled = true;
906
- spinButton.textContent = 'КРУТИМ...';
907
-
908
- // Stop any current animations
909
- reels.forEach(reel => {
910
- reel.style.animation = 'none';
911
- reel.offsetHeight; // Trigger reflow
912
- });
913
-
914
- // Spin each reel with different durations
915
- reels.forEach((reel, index) => {
916
- // Randomize symbols temporarily during spin
917
- const reelSymbols = reel.querySelectorAll('div');
918
- reelSymbols.forEach(symbol => {
919
- symbol.textContent = getRandomSymbol();
920
- });
921
 
922
- // Start spinning animation
923
- reel.style.animation = `spin ${2 + Math.random()}s ease-out forwards`;
 
 
 
924
  });
 
925
 
926
- // After spinning, check for win
927
- setTimeout(() => {
928
- spinButton.disabled = false;
929
- spinButton.textContent = 'КРУТИТЬ (БЕСПЛАТНО)';
930
-
931
- const results = reels.map(reel => {
932
- return reel.querySelector('div').textContent;
933
- });
934
-
935
- if (results[0] === results[1] && results[1] === results[2]) {
936
- document.getElementById('win-message').classList.remove('hidden');
937
- setTimeout(() => {
938
- document.getElementById('win-message').classList.add('hidden');
939
- }, 3000);
940
- }
941
- }, 3000);
942
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
943
  });
944
- // Header scroll effect with null check
945
  const header = document.getElementById('main-header');
946
  if(header) {
947
  window.addEventListener('scroll', function() {
 
238
  animation: spin 3s linear infinite;
239
  }
240
  @keyframes spin {
241
+ 0% { transform: translateY(0); }
242
  100% { transform: translateY(calc(-100% + 80px)); }
243
  }
244
+ /* Header styles */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
245
  .nav-link {
246
  position: relative;
247
  font-weight: 500;
 
421
  </div>
422
  </div>
423
  </div>
424
+
425
  <!-- Slot Machine Demo -->
426
+ <div class="slot-machine max-w-md mx-auto">
427
  <h3 class="text-center text-xl font-bold mb-4 gold-text">Попробуй удачу!</h3>
428
+ <div class="flex justify-center space-x-2 mb-4">
429
+ <div class="reel w-20 overflow-hidden">
430
+ <div class="reel-content">
431
+ <div class="h-20 flex items-center justify-center text-3xl">🍒</div>
432
  <div class="h-20 flex items-center justify-center text-3xl">🍋</div>
433
  <div class="h-20 flex items-center justify-center text-3xl">🍊</div>
434
  <div class="h-20 flex items-center justify-center text-3xl">🍇</div>
435
  <div class="h-20 flex items-center justify-center text-3xl">💎</div>
436
  <div class="h-20 flex items-center justify-center text-3xl">7️⃣</div>
437
+ <!-- Duplicate first symbol for smooth loop -->
438
  <div class="h-20 flex items-center justify-center text-3xl">🍒</div>
439
  </div>
440
  </div>
441
+ <div class="reel w-20 overflow-hidden">
442
+ <div class="reel-content">
443
+ <div class="h-20 flex items-center justify-center text-3xl">🍋</div>
444
  <div class="h-20 flex items-center justify-center text-3xl">🍊</div>
445
  <div class="h-20 flex items-center justify-center text-3xl">🍇</div>
446
  <div class="h-20 flex items-center justify-center text-3xl">💎</div>
447
  <div class="h-20 flex items-center justify-center text-3xl">7️⃣</div>
448
  <div class="h-20 flex items-center justify-center text-3xl">🍒</div>
449
+ <!-- Duplicate first symbol for smooth loop -->
450
  <div class="h-20 flex items-center justify-center text-3xl">🍋</div>
451
  </div>
452
  </div>
453
+ <div class="reel w-20 overflow-hidden">
454
+ <div class="reel-content">
455
+ <div class="h-20 flex items-center justify-center text-3xl">🍊</div>
456
  <div class="h-20 flex items-center justify-center text-3xl">🍇</div>
457
  <div class="h-20 flex items-center justify-center text-3xl">💎</div>
458
  <div class="h-20 flex items-center justify-center text-3xl">7️⃣</div>
459
  <div class="h-20 flex items-center justify-center text-3xl">🍒</div>
460
  <div class="h-20 flex items-center justify-center text-3xl">🍋</div>
461
+ <!-- Duplicate first symbol for smooth loop -->
462
  <div class="h-20 flex items-center justify-center text-3xl">🍊</div>
463
  </div>
464
  </div>
 
 
 
 
 
 
 
 
465
  </div>
466
+ <button class="w-full btn-gold font-bold mt-4">
467
+ КРУТИТЬ (БЕСПЛАТНО)
468
+ </button>
469
+ <p class="text-center text-xs text-yellow-300 mt-2">
470
+ Попробуйте удачу! Совпадение 3 символов - выигрыш!
471
+ </p>
472
+ </div>
473
+ </div>
474
  </section>
475
 
476
  <!-- Bonuses Section -->
 
876
  }
877
  });
878
  });
879
+ // Interactive slot machine with null checks
880
+ const slotButton = document.querySelector('.slot-machine button');
881
+ if(slotButton) {
882
+ slotButton.addEventListener('click', function() {
883
+ const reels = document.querySelectorAll('.reel-content');
884
+ const reelSymbols = ['🍒', '🍋', '🍊', '🍇', '💎', '7️⃣'];
 
885
 
886
+ this.disabled = true;
887
+ this.textContent = 'КРУТИМ...';
888
+
889
+ // Reset animation
890
+ reels.forEach(reel => {
891
+ reel.style.animation = 'none';
892
+ reel.offsetHeight; // Trigger reflow
893
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
894
 
895
+ // Randomize symbols
896
+ reels.forEach(reel => {
897
+ const symbols = reel.querySelectorAll('div');
898
+ symbols.forEach((symbol, index) => {
899
+ symbol.textContent = reelSymbols[Math.floor(Math.random() * reelSymbols.length)];
900
  });
901
+ });
902
 
903
+ // Start spinning animation
904
+ reels.forEach((reel, index) => {
905
+ reel.style.animation = `spin 3s cubic-bezier(0.1, 0.7, 0.1, 1) ${index * 0.3}s forwards`;
 
 
 
 
 
 
 
 
 
 
 
 
 
906
  });
907
+
908
+ setTimeout(() => {
909
+ this.disabled = false;
910
+ this.textContent = 'КРУТИТЬ';
911
+
912
+ // Check for win
913
+ const finalSymbols = Array.from(reels).map(reel => {
914
+ return reel.querySelector('div').textContent;
915
+ });
916
+
917
+ if (new Set(finalSymbols).size === 1) { // All symbols match
918
+ alert(`Поздравляем! Вы выиграли с комбинацией ${finalSymbols[0]}!`);
919
+ }
920
+ }, 3500);
921
  });
922
+ // Header scroll effect with null check
923
  const header = document.getElementById('main-header');
924
  if(header) {
925
  window.addEventListener('scroll', function() {