Този сайт използва „бисквитки“ (cookies). Разглеждайки съдържанието на сайта, Вие се съгласявате с използването на „бисквитки“. Повече информация тук.

Разбрах

Статии свързани с Карлос Алкарас

Вместо Алкарас, Григор ще срещне 32-рия в света

Вместо Алкарас, Григор ще срещне 32-рия в света

Жребият отново прати Григор в осмината на Алкарас

Българинът започва от втори кръг в Маями

Алкарас разби Гришо на осминафиналите

Българинът взе само два гейма

Кога и къде да гледаме сблъсъка между Григор и Алкарас

Димитров спечели последните им две срещи

Алкарас беше изхвърлен от финалите на ATP

Край на надеждите на испанеца

Алкарас даде надежда на Григор да се включи в ATP финалите в Торино

Испанецът страда от здравословни проблеми

Алкарас спечели епичния финал със Синер

Испанецът вдигна титлата след обрат

Карлос Алкарас: Искат да ни убият

Недоволство заради натоварения график

"Голямата тройка" в тениса приключи. Кои са новите фаворити?

Не се вижда кой ще се опре на Алкарас и Синер





   

Най-четените

document.addEventListener('DOMContentLoaded', function() { const banner = document.querySelector('.banner.banner-incontent'); let isScrolling = false; let lastScrollPosition = 0; let scrollSlowDownActive = false; // Check if mobile view function isMobileView() { return window.innerWidth < 641; } // Check if element is fully in viewport function isFullyInViewport(el) { const rect = el.getBoundingClientRect(); return ( rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth) ); } // Handle scroll event function handleScroll() { if (!isMobileView() || isScrolling) return; const currentScrollPosition = window.pageYOffset || document.documentElement.scrollTop; const scrollDirection = currentScrollPosition > lastScrollPosition ? 'down' : 'up'; lastScrollPosition = currentScrollPosition; if (isFullyInViewport(banner)) { if (!scrollSlowDownActive) { scrollSlowDownActive = true; document.body.style.overflow = 'hidden'; applySlowScrollEffect(currentScrollPosition, scrollDirection); } } else { if (scrollSlowDownActive) { scrollSlowDownActive = false; document.body.style.overflow = ''; } } } // Apply the slow scroll effect function applySlowScrollEffect(position, direction) { isScrolling = true; const startPosition = position; const targetPosition = direction === 'down' ? startPosition + 100 : // scroll down 100px slowly startPosition - 100; // scroll up 100px slowly const duration = 1000; // 1 second for 100px scroll const startTime = performance.now(); function scrollStep(timestamp) { const elapsed = timestamp - startTime; const progress = Math.min(elapsed / duration, 1); const easeProgress = easeInOutQuad(progress); window.scrollTo(0, startPosition + (targetPosition - startPosition) * easeProgress); if (progress < 1 && scrollSlowDownActive) { requestAnimationFrame(scrollStep); } else { isScrolling = false; document.body.style.overflow = ''; scrollSlowDownActive = false; } } requestAnimationFrame(scrollStep); } // Easing function for smooth animation function easeInOutQuad(t) { return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t; } // Add event listeners window.addEventListener('scroll', handleScroll); window.addEventListener('resize', function() { if (!isMobileView() && scrollSlowDownActive) { scrollSlowDownActive = false; document.body.style.overflow = ''; } }); });