Shimano - Djimmi.nl
Menu
EUR
Onze winkel in Boxmeer is voor u geopend - Lees meer

Shimano

1 Producten
Toon:
Shimano Derailleur Shimano Tourney met Bout - 6/7 Versnellingen
Shimano
Derailleur Shimano Tourney met Bout - 6/7 Versnellingen
€29,95 €24,75 €22,95 €18,97
 
Toon 1 - 1 van 1
Merken
Prijs
Min Max
Sluiten
Kies uw taal
Kies uw valuta

Mijn account

Wachtwoord vergeten?

Recent toegevoegd

0
Vergelijk
Start vergelijking

Dit artikel is toegevoegd aan uw winkel wagen!
document.addEventListener('DOMContentLoaded', function() { // ---------------------------------------------------------- // 1. Robuust detecteren van een productpagina // ---------------------------------------------------------- const isProductPage = document.querySelector('form[action*="cart/add"]') || // standaard product form document.querySelector('[itemtype$="schema.org/Product"]') || // schema.org product document.querySelector('[itemprop="name"]') || // naam aanwezig document.querySelector('[itemprop="price"]'); // prijs aanwezig if (!isProductPage) return; // ---------------------------------------------------------- // 2. Fallback selectors voor productnaam en prijs // ---------------------------------------------------------- const titleEl = document.querySelector('.product-title') || document.querySelector('.product__title') || document.querySelector('[itemprop="name"]') || document.querySelector('h1') || document.querySelector('.productName'); const priceEl = document.querySelector('.product-price') || document.querySelector('.price__amount') || document.querySelector('[itemprop="price"]') || document.querySelector('.price'); const productName = titleEl?.textContent?.trim() || 'Product'; const price = priceEl?.textContent?.trim() || ''; // ---------------------------------------------------------- // 3. CSS toevoegen // ---------------------------------------------------------- const css = ` .sticky-order-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 99999; display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; background: #ffffffee; backdrop-filter: blur(8px); border-top: 1px solid #ddd; box-shadow: 0 -4px 18px rgba(0,0,0,.15); transform: translateY(110%); transition: transform .25s ease, opacity .25s ease; opacity: 0; font-family: inherit; } .sticky-order-bar.visible { transform: translateY(0); opacity: 1; } .sticky-order-bar .order-btn { background: #ff3d1f; padding: 12px 20px; border-radius: 10px; color: #fff; font-weight: 700; border: none; cursor: pointer; font-size: 16px; } .sticky-order-bar .close-btn { background: none; border: none; font-size: 24px; opacity:.6; cursor: pointer; margin-left: 10px; } `; const style = document.createElement('style'); style.textContent = css; document.head.appendChild(style); // ---------------------------------------------------------- // 4. HTML sticky bar // ---------------------------------------------------------- const bar = document.createElement('div'); bar.className = 'sticky-order-bar'; bar.innerHTML = `
${productName}
${price}
`; document.body.appendChild(bar); // ---------------------------------------------------------- // 5. Scroll gedrag // ---------------------------------------------------------- let lastY = window.scrollY; window.addEventListener('scroll', () => { if (window.scrollY > lastY && window.scrollY > 200) { bar.classList.add('visible'); } else { bar.classList.remove('visible'); } lastY = window.scrollY; }); // ---------------------------------------------------------- // 6. BESTEL knop → klik op echte add-to-cart // ---------------------------------------------------------- bar.querySelector('.order-btn').addEventListener('click', () => { const addBtn = document.querySelector('form[action*="cart/add"] button[type="submit"]'); if (addBtn) addBtn.click(); }); // ---------------------------------------------------------- // 7. Sluiten // ---------------------------------------------------------- bar.querySelector('.close-btn').addEventListener('click', () => { bar.classList.remove('visible'); }); });