Spaces:
Running
Running
Aleksandr Sashka commited on
Promote version fd3aaaf to main
Browse filesPromoted commit fd3aaaf85e30b9c996d2ac284cc2946a5ef13800 to main branch
- index.html +63 -85
index.html
CHANGED
|
@@ -238,27 +238,10 @@ background: #000;
|
|
| 238 |
animation: spin 3s linear infinite;
|
| 239 |
}
|
| 240 |
@keyframes spin {
|
| 241 |
-
|
| 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
|
| 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
|
| 445 |
-
<div class="reel w-20 overflow-hidden
|
| 446 |
-
<div class="reel-content"
|
| 447 |
-
<div class="h-20 flex items-center justify-center text-3xl
|
| 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
|
| 457 |
-
<div class="reel-content"
|
| 458 |
-
<div class="h-20 flex items-center justify-center text-3xl
|
| 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
|
| 468 |
-
<div class="reel-content"
|
| 469 |
-
<div class="h-20 flex items-center justify-center text-3xl
|
| 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 |
-
//
|
| 893 |
-
document.
|
| 894 |
-
|
| 895 |
-
|
| 896 |
-
|
| 897 |
-
|
| 898 |
-
const symbols = ['🍒', '🍋', '🍊', '🍇', '💎', '7️⃣'];
|
| 899 |
|
| 900 |
-
|
| 901 |
-
|
| 902 |
-
|
| 903 |
-
|
| 904 |
-
|
| 905 |
-
|
| 906 |
-
|
| 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 |
-
|
| 923 |
-
|
|
|
|
|
|
|
|
|
|
| 924 |
});
|
|
|
|
| 925 |
|
| 926 |
-
|
| 927 |
-
|
| 928 |
-
|
| 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() {
|