✦ Verified product
F-One ROCKET SUP DW PRO
EUR 1,797.99
Board Size (L)
Billy.be
Verified independent store
→
It's all downwind from here.Experience the stoke and freedom of downwinders with F-ONE’s ROCKET SUP DW PRO board. Thanks to its optimized sleek design and ultra-light bamboo constr
uction, get up on your foil faster than ever and experience the pure bliss of flying above the swell for hours on end. Incredibly efficient and fast take-offs Superb stability at all times Immense glide and speed Controlled front/back leg balance Control and maneuverability even at high speeds .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 Take Off 0% Carving 0% Pumping 0% Stability 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); }); });