✦ Verified product
F-One POCKET CARBON
EUR 899.00
Board Size (cm)
Billy.be
Verified independent store
→
Pocket RocketUsing compact outlines, we developed a complete range of boards with minimum length for maximum fun. The POCKET CARBON boards offer tons of possibilities to enjoy foil
ing and engage in all kinds of turns or manoeuvres. Versatile and rigid, ideal for freeride and freestyle Lightweight Bulletproof construction .progress-container { display: flex; justify-content: space-between; background-color: #f9f9f9; padding: 40px 25px 60px 25px; } .progress-ring { width: 150px; height: 150px; position: relative; text-align: center; } .progress-ring circle { fill: transparent; stroke: #ff6800; stroke-width: 15; transform: rotate(-90deg); transform-origin: 50% 50%; transition: stroke-dashoffset 0.5s; } .progress-ring .ring-background { fill: transparent; stroke: #ccc; stroke-width: 15; transform: rotate(-90deg); transform-origin: 50% 50%; } .progress-text { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 24px; } .progress-title { font-size: 20px; color: black; margin-top: 10px; } @media (max-width: 768px) { .progress-container { flex-direction: column; align-items: center; } .progress-ring { margin-bottom: 50px; } } PERFORMANCE Accessibility 0% Freeride 0% Carving 0% Performance 0% document.addEventListener("DOMContentLoaded", function() { function animateProgress(ringId, from, to, duration) { const ring = document.querySelector(`#ring${ringId} .ring`); const text = document.getElementById(`progress${ringId}`); const title = document.querySelector(`#ring${ringId} .progress-title`); const circumference = 2 * Math.PI * 65; // Hardcoding the radius as 65 for this example const increment = (to - from) / (duration * 60); let current = from; function update() { if ((increment > 0 && current < to) || (increment < 0 && current > to)) { const offset = circumference - (current / 100) * circumference; ring.style.strokeDasharray = `${circumference} ${circumference}`; ring.style.strokeDashoffset = offset; text.textContent = `${Math.round(current)}%`; current += increment; requestAnimationFrame(update); } else { const offset = circumference - (to / 100) * circumference; ring.style.strokeDashoffset = offset; text.textContent = `${to}%`; } } update(); } function handleIntersection(entries, observer) { entries.forEach((entry) => { if (entry.isIntersecting) { const ringId = entry.target.id.replace('ring', ''); const from = 0; const to = parseInt(entry.target.getAttribute('data-progress'), 10); animateProgress(ringId, from, to, 2); observer.unobserve(entry.target); } }); } const rings = document.querySelectorAll('.progress-ring'); const observer = new IntersectionObserver(handleIntersection, { root: null, rootMargin: '0px', threshold: 0.2 // Adjust this threshold as needed }); rings.forEach((ring) => { observer.observe(ring); }); });