Sekabet Giriş Güncel Bağlantı – Hızlı ve Güvenli Oyun
/* ---------- scroll progress ---------- */
const progress = document.getElementById('progress');
window.addEventListener('scroll', () => {
const h = document.documentElement;
const pct = h.scrollTop / (h.scrollHeight - h.clientHeight) * 100;
progress.style.width = pct + '%';
});
const menuToggle = document.getElementById('menuToggle');
const mobileMenu = document.getElementById('mobileMenu');
menuToggle.addEventListener('click', () => {
const open = mobileMenu.classList.toggle('open');
menuToggle.setAttribute('aria-expanded', open);
});
mobileMenu.querySelectorAll('a').forEach(a => a.addEventListener('click', () => {
mobileMenu.classList.remove('open'); menuToggle.setAttribute('aria-expanded', 'false');
}));
const revealEls = document.querySelectorAll('.reveal, .reveal-stagger');
const io = new IntersectionObserver((entries) => {
entries.forEach(entry => { if (entry.isIntersecting) { entry.target.classList.add('in'); io.unobserve(entry.target); } });
}, { threshold: 0.15 });
revealEls.forEach(el => io.observe(el));
/* ---------- hero image placeholder loop ---------- */
const imgSlides = document.querySelectorAll('.img-slide');
const imgDots = document.querySelectorAll('.img-loop-dots span');
let imgIndex = 0;
if (imgSlides.length){
setInterval(() => {
imgIndex = (imgIndex + 1) % imgSlides.length;
imgSlides.forEach((s, i) => s.classList.toggle('active', i === imgIndex));
imgDots.forEach((d, i) => d.classList.toggle('active', i === imgIndex));
}, 3000);
}