Galaxy S24 | S24+
- SPECIFICATIES
- SUPPORT
- REVIEWS
Koop nu
- Functies
- Switch to Galaxy
- Accessoires
- SPECIFICATIES
- SUPPORT
- REVIEWS


-
*Accessoires apart verkrijgbaar. De beschikbaarheid van een bepaald model of een bepaalde kleur kan per regio verschillen.
-
*Gesimuleerde afbeelding voor illustratieve doeleinden.
Alles wat je nodig hebt
- Hoesjes
- Galaxy Watch
- Galaxy Buds
Aan jou de keuze
Maak kennis met de nieuwe hoesjes voor de Galaxy S24-serie
-
Flipsuit Case
Maak kennis met de interactieve case en geef je vergrendelscherm en Always On-Display met de verwisselbare kaarten een stijlvolle andere look.,,,,,
Koop nu
Yellow
-
Standing Grip Case
Handsfree kijken en gemakkelijk meenemen. Met deze veelzijdige cover kun je alle kanten op.
Koop nu
Light Blue
-
Clear Gadget Case
De unieke kleur van je telefoon mag gezien worden in dit hoesje. Inclusief verwisselbaar bandje en een uitklapbare steun.,
Koop nu
Transparant
-
Smart View Wallet Case
Pauzeer je afspeellijst en reageer op je oproepen zonder de cover te openen. Ook heel fijn, het hoesje heeft een handig vakje voor je pasjes!,
Koop nu
-
Silicone Case
Met deze prachtige kleuren is het nog lastig kiezen. Maar gelukkig grijp je nooit mis.
Koop nu
Violet
-
Vegan Leather Case
Chique, zacht en luxueus. Dit hoesje van kunstleer benadrukt de eigentijdse elegantie van jouw telefoon.
Koop nu
Dark Violet
-
Shield Case
Wie zegt dat bescherming niet stijlvol kan zijn? Met dit hoesje geef je je telefoon een opvallende look en optimale bescherming.
Koop nu
Light Gray
-
Clear Case
Laat je telefoon volledig tot zijn recht komen met optimale bescherming. Bij dit hoesje draait alles om het design van je telefoon.
Koop nu
Transparant
-
Anti-Reflecting Screen Protector
Voorkom krassen met een aanraakgevoelige transparante Screen Protector, gemaakt voor een perfecte schermweergave.
Koop nu
Transparant
Tag it. Find it.
-
Galaxy SmartTag2
Tag de spullen die je gemakkelijk uit het oog verliest en je hebt alles zo gevonden.
Ontdek meer
Black
-
25W Power Adapter
Met Super Fast Charging laad je je batterij in een handomdraai op. Je kunt rekenen op deze oplader. En dankzij het compacte formaat past hij altijd in je tas.
Ontdek meer
Black
-
Super Fast Wireless Charger Duo
Laad twee toestellen tegelijk op met een Watch-magneet aan één kant en een Fast Wireless Charging-pad aan de andere.
Ontdek meer
Black
-
Battery Pack
Deze batterij van 10.000 mAh levert tot wel 25W Super Fast Charging en beschikt over twee USB-C poorten.,,
Ontdek meer
Beige
Horloges die passen bij jouw persoonlijke stijl en levensstijl
-
Galaxy Watch6
De Galaxy Watch6 is jouw persoonlijke gezondheidscoach om je pols.
Koop nu
Graphite
-
Galaxy Watch6 Classic
Onze iconische roterende rand is nu 15% dunner.
Koop nu
Black
Oordopjes die recht doen aan je favoriete muziek
-
Galaxy Buds2 Pro
Je playlists klinken nog beter dankzij Active Noise Cancelling (ANC). Geniet van kristalhelder geluid en optimaal draagcomfort.
Koop nu
Bora Purple
-
Galaxy Buds2
Van work-outs tot games en de telefoontjes tussendoor: dankzij de intelligente ANC blijf je altijd in het moment.
Koop nu
Olive
Accessoires voor smartphones
Ontdek de nieuwe accessoires voor de Galaxy S24 | S24+ en S24 Ultra en trakteer jezelf op een stijl-make-over.
*Accessoires apart verkrijgbaar. De beschikbaarheid van een bepaald model of een bepaalde kleur kan per regio verschillen.
Bekijk alles
Galaxy S24 Ultra
Ontdek meer
Ontdek hoe je jouw Galaxy S24 of S24+ kunt bemachtigen
Koop nu Bestel nu Koop nu Verkooppunten
Life opens up with Galaxy
Ontdek meer
*De hier vermelde specificaties en beschrijvingen kunnen verschillen van de werkelijke productspecificaties en beschrijvingen. Samsung behoudt zich het recht voor dit document en het product te allen tijde te wijzigen, zonder voorafgaande aankondiging. Alle functies, features, specificaties, GUI en andere productinformatie in dit document wat betreft de voordelen, het design, de prijs, de onderdelen, prestaties, beschikbaarheid en functies van het product kunnen worden gewijzigd zonder voorafgaande waarschuwing. De afbeeldingen op de schermen zijn gesimuleerde beelden en louter illustratief.
- Alle accessoires voor de Galaxy S24, S24+ en S24 Ultra zijn apart verkrijgbaar.
- De beschikbaarheid van kleuren, modellen en accessoires kan per regio verschillen.
- Er wordt één soort content per kaart weergegeven.
- De special edition merkedities van de Flipsuit Case bevatten één Flipsuit-themacard.
- De daadwerkelijke kleur, het ontwerp en de content van de Flipsuit Case-themakaart kunnen verschillen.
- De content voor de Flipsuit Case-themakaarten moet apart worden gedownload voor gebruik. Voor het downloaden is een netwerkverbinding vereist.
- De Grip- en Cap-accessoires zijn afneembaar en verwisselbaar.
- Meegeleverd in doos: Clear Gadget Case inclusief steun en bandje.
- Drie features 'tijd, meldingen en muziekbediening' kunnen worden bediend zonder het hoesje te openen.
- Gesimuleerde afbeelding voor illustratieve doeleinden. Daadwerkelijke gebruikersinterface kan afwijken van de afbeelding.
- De beschikbaarheid van bepaalde kleuren kan verschillen per regio.
- Vereist Samsung Galaxy-smartphones of -tablets met Android 11.0 of hoger met 3GB of meer gratis RAM; de gebruiker moet zich aanmelden bij de SmartThings Find-app en ingelogd zijn op hun Samsung Account. Bluetooth LE-bereik tot 120 m zonder obstakels; als Galaxy SmartTag2 buiten bereik is, wordt Galaxy Find Network gebruikt om te volgen (nauwkeurigheid Galaxy Find Network op basis van opt-in Galaxy-gebruikers die zich binnen het bereik van de SmartTag bevinden).
- Super Fast Charging (SFC) vereist een USB Power Delivery 3.0-compatibel apparaat dat Direct Charging ondersteunt. Apparaten die geen USB Power Delivery 3.0-standaard of Direct Charging ondersteunen, worden in een lager tempo dan SFC-snelheid opgeladen.
- Voor de draadloze oplader is een stroomaansluiting vereist. Laadsnelheden kunnen per apparaat verschillen. Werkelijke oplaadtijd hangt af van gebruik, oplaadcondities en andere factoren.
- 25W Super Fast Charging is alleen beschikbaar als deze is verbonden met één toestel.
- Kabels dienen mogelijk apart te worden aangeschaft, afhankelijk van het land of de regio.
- De Galaxy Watch6 Small (40mm) heeft een 30 procent dunnere rand dan de Galaxy Watch5 Small (40mm) en de Galaxy Watch6 Classic heeft een 15 procent dunnere roterende rand dan de Galaxy Watch4 Classic.
')); } } }; return { setLownetworkClass: setLownetworkClass, setScrollControl: setScrollControl, setResolution: setResolution, onClickSup: onClickSup, centeredFocus: centeredFocus, setArBanner:setArBanner, }})();(function () { const utils = window.flagship.common.utils; const resize = window.flagship.common.resize; const common = window.flagship.accessories.common; let agent = navigator.userAgent.toLowerCase(); let maxOs = agent.indexOf('mac os') > -1; let touchDevice = ('ontouchstart' in window || (window.DocumentTouch && document instanceof window.DocumentTouch)); let els = {}; const init = function () { els.isGlobal = document.documentElement.classList.contains('global'); }; const bindEvents = function () { window.addEventListener('DOMContentLoaded', anchorPosition, {once : true}); window.addEventListener('hashchange', anchorPosition); }; const setResize = function () { resize.init([{ resolution: 1920, resolutionName: 'desktop', eventFunction: '' }, { resolution: 1023, resolutionName: 'tablet', eventFunction: '' }, { resolution: 767, resolutionName: 'mobile', eventFunction: '' }, { resolution: 360, resolutionName: 'mobileS', eventFunction: '' }, { resolution: 320, resolutionName: 'mobileXs', eventFunction: '' }], 200); resize.add(common.setResolution); }; const setScrollControl = function () { window.scrollController = ANIUTIL.scrollController(); scrollController.init({ speed: 120, duration: 0.5 }); }; const setImageLoader = function () { window.imageLoader = ANIUTIL.mediaLoader({ lazyClass: '.js-img-src', responsiveClass: '.js-res-img', preset: els.isGlobal ? '' : '?imbypass=true', loadOption: [{ resolution: 1920, attribute: 'data-src-pc' }, { resolution: 1023, attribute: 'data-src-tb' }, { resolution: 767, attribute: 'data-src-mo' }, { resolution: 360, attribute: 'data-src-mo-s' }], visiblePoint: 1 }); window.bgLoader = ANIUTIL.mediaLoader({ type: 'bgImage', lazyClass: '.js-bg-img', loadOption: [{ resolution: 1920, attribute: '', bgOpts: '' }], visiblePoint: 1 }); }; const setDisclaimer = function(){ els.supClicker = document.querySelectorAll('a.click_sup'); for(let i=0;i
' + text + "
"); } else { $(cta).append( '' + comingSoonCopy + "
" ); } }; return { init: init, doSku: doSku, }; })(); flagship.accessories.colorchip = (function () { const resize = window.flagship.common.resize; const utils = window.flagship.common.utils; let els = {}; let status = {}; let prevDevice = null; let currDevice = resize.checkResolution(); const init = function () { els.section = document.querySelector('#accessories'); if (!!els.section) { flagship.accessories.buyable.init(); // tah setElements(); setProperty(); setStatus(); setCta(); bindEvents(); } }; const setElements = function () { els.swiper = null; els.productItems = els.section.querySelectorAll('.accessories-product__item'); els.oneProductItemList = []; els.notSlideColorchipList = []; }; const setStatus = function () { status.isClick = false; status.isOptionClick = false; }; const setProperty = function () { //colorchip button property const _colorchipProperty = function (productItems) { let colorchipList = productItems.querySelectorAll('.accessories__colorchip'); if (colorchipList.length < 2) { els.oneProductItemList.push(productItems); } for (let i = 0; i < colorchipList.length; i++) { const accColorchipProperty = { parentWrap: productItems, ctaWrap: productItems.querySelector('.accessories-product__cta'), cta: productItems.querySelector('.accessories-product__cta>a'), currentColor: productItems.querySelector('.accessories-product__current') }; colorchipList[i].accColorchipProperty = accColorchipProperty; } }; //option button property const _optionProperty = function (productItems) { let optionBtnList = productItems.querySelectorAll('.accessories-product__option-btn'); for (let i = 0; i < optionBtnList.length; i++) { let accOptionProperty = { parentWrap: productItems, optionBtnWrap: productItems.querySelectorAll('.accessories-product__option-item')[i], colorchipList: productItems.querySelectorAll('.swiper-pagination-wrap')[i], activeColorchip: productItems.querySelector('.accessories-colors .is-active'), activeSwiperWrap: productItems.querySelectorAll('.swiper-container-wrap')[i], activeSwiperContainer: productItems.querySelectorAll('.swiper-container-wrap .swiper-container')[i], activeColorchipSwiper: productItems.querySelectorAll('.swiper-pagination-wrap .swiper-container')[i], }; optionBtnList[i].accOptionProperty = accOptionProperty; if (!!optionBtnList[i].accOptionProperty.activeSwiperContainer) { let optionFirstImg = optionBtnList[i].accOptionProperty.activeSwiperContainer.querySelector('.swiper-slide img'); if (!!optionFirstImg && !optionFirstImg.classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia([optionFirstImg]); } } } }; // swiperContainer property : default const _swiperContainerProperty = function (productItems) { let swiperContainer; if (productItems.querySelector('.accessories-options')) { swiperContainer = productItems.querySelectorAll('.swiper-container-wrap .swiper-container'); } else { swiperContainer = productItems.querySelectorAll('.accessories-product__contents>.swiper-container'); } for (let i = 0; i < swiperContainer.length; i++) { let swiperSlides = swiperContainer[i].querySelectorAll('.swiper-slide'); if (swiperSlides.length >= 2) { let swiperProperty = { nextArrow: swiperContainer[i].parentElement.querySelector('.swiper-button-next'), prevArrow: swiperContainer[i].parentElement.querySelector('.swiper-button-prev'), pagination: productItems.querySelectorAll('.swiper-pagination-wrap')[i], parentWrap: productItems, }; swiperContainer[i].swiperProperty = swiperProperty; } } }; // swiperContainer property : (option) one-slide const _optionOneSlideSwiperContainerProperty = function (productItems) { var options = productItems.querySelector('.accessories-options'); if (options != null) { let paginationWrap = options.querySelectorAll('.swiper-pagination-wrap'); let paginationWrap_1 = paginationWrap[0].querySelectorAll('.accessories__colorchip'); let paginationWrap_2 = paginationWrap[1].querySelectorAll('.accessories__colorchip'); if ((paginationWrap_1.length != paginationWrap_2.length) || (paginationWrap_1.length == 1 && paginationWrap_2.length == 1)) { var swiperContainerWrap = options.querySelectorAll('.swiper-container-wrap'); for (let i = 0; i < swiperContainerWrap.length; i++) { let swiperSlides = swiperContainerWrap[i].querySelectorAll('.swiper-slide'); if (swiperSlides.length <= 1) { swiperContainerWrap[i].querySelector('.swiper-container').classList.add('is-one-slide'); swiperContainerWrap[i].style.pointerEvents = 'none'; if (swiperContainerWrap[i].querySelector('.accessories-product__arrow')) swiperContainerWrap[i].querySelector('.accessories-product__arrow').style.display = 'none'; let swiperProperty = { nextArrow: '', prevArrow: '', pagination: paginationWrap[i], parentWrap: productItems }; swiperContainerWrap[i].querySelector('.swiper-container').swiperProperty = swiperProperty; } } } } }; // colorchipSwiperContainer property const _colorchipSwiperContainerProperty = function (productItems) { let paginationWrap = productItems.querySelectorAll('.swiper-pagination-wrap'); let colorchipContainer = productItems.querySelectorAll('.swiper-pagination-wrap .swiper-container'); for (let i = 0; i < colorchipContainer.length; i++) { let colorchip = colorchipContainer[i].querySelectorAll('.accessories-colors__item'); if (colorchip.length >= 5) { let colorchipSwiperProperty = { nextArrow: paginationWrap[i].querySelector('.swiper-button-next'), prevArrow: paginationWrap[i].querySelector('.swiper-button-prev'), parentWrap: productItems, }; colorchipContainer[i].swiperProperty = colorchipSwiperProperty; } else { els.notSlideColorchipList.push(paginationWrap[i]); } } }; for (let i = 0; i < els.productItems.length; i++) { _colorchipProperty(els.productItems[i]); _optionProperty(els.productItems[i]); _swiperContainerProperty(els.productItems[i]); _optionOneSlideSwiperContainerProperty(els.productItems[i]); _colorchipSwiperContainerProperty(els.productItems[i]); } }; const setCta = function () { for (let i = 0; i < els.productItems.length; i++) { let activeColorchip = els.productItems[i].querySelector('.accessories__colorchip.is-active'), activeColorchipUrl = activeColorchip.getAttribute('data-url'), activeItemCta = els.productItems[i].querySelector('.accessories-product__cta'); if (!!activeItemCta) { if (activeColorchipUrl == '#') { activeItemCta.style.visibility = 'hidden'; activeItemCta.setAttribute('tabindex', -1); activeItemCta.setAttribute('aria-hidden', true); } else { activeItemCta.style.visibility = ''; activeItemCta.removeAttribute('tabindex'); activeItemCta.removeAttribute('aria-hidden'); } flagship.accessories.buyable.doSku(activeColorchip); // tah } } }; const setSwiper = { product: function (target) { let targetProperty = target.swiperProperty; let swiper; if (targetProperty && !target.swiper) { if (target.classList.contains('is-one-slide')) { let oneSlideSwiper = new Swiper(target, { init: false, slidesPerView: 'auto', loop: true, loopedSlides: 1, allowTouchMove: false }); swiper = oneSlideSwiper; } else { let defaultSwiper = new Swiper(target, { init: false, slidesPerView: 'auto', loop: true, loopedSlides: 1, navigation: { nextEl: targetProperty.nextArrow, prevEl: targetProperty.prevArrow }, touchRatio: 0.5, allowTouchMove: (utils.detector.isTouchDevice || (currDevice && currDevice.indexOf('mobile') > -1)) ? true : false }); swiper = defaultSwiper; } swiper.on('init', swiperEvents.product.init); swiper.on('slideChange', swiperEvents.product.slideChange); swiper.on('slideChangeTransitionEnd', swiperEvents.product.slideChangeTransitionEnd); swiper.init(); } }, colorchip: function (target) { let targetProperty = target.swiperProperty; let colorchipSwiper = null; if (targetProperty && !target.swiper) { colorchipSwiper = new Swiper(target, { init: false, slidesPerView: 'auto', loop: false, navigation: { nextEl: targetProperty.nextArrow, prevEl: targetProperty.prevArrow }, touchRatio: 0, allowTouchMove: false, }); colorchipSwiper.on('init', swiperEvents.colorchip.init); colorchipSwiper.on('slideChange', swiperEvents.colorchip.slideChange); colorchipSwiper.init(); } } }; const bindEvents = function () { window.addEventListener('DOMContentLoaded', onLoadHandler, {once: true}); window.addEventListener('scroll', scrollHandler); resize.add(resizeEvent); els.section.addEventListener('click', onClickEvents.clickItem); els.section.addEventListener('keydown', onClickEvents.keydownItem); }; const resizeEvent = function (currRes) { if (currRes) currDevice = currRes; let activeSwiper = els.section.querySelectorAll('.swiper-container-initialized'); if (activeSwiper) { for (let i = 0; i < activeSwiper.length; i++) { if (activeSwiper[i].parentElement.classList.contains('swiper-container-wrap')) { if ((currDevice && ((currDevice.indexOf('mobile') > -1) || currDevice == 'tablet'))) { activeSwiper[i].swiper.allowTouchMove = true; } else { activeSwiper[i].swiper.allowTouchMove = false; } } else if (activeSwiper[i].parentElement.classList.contains('swiper-pagination-wrap')) { if (currDevice.indexOf('mobile') < 0) { activeSwiper[i].swiper.destroy(); } } } } }; const onLoadHandler = function () { scrollHandler(); resizeEvent(); productItemElementsEvents.arrowHide(); }; const scrollHandler = function () { for (let i = 0; i < els.productItems.length; i++) { let targetElement = els.productItems[i], scrollTop = window.pageYOffset, scrollBottom = scrollTop + window.innerHeight, targetOffsetTop = scrollTop + targetElement.getBoundingClientRect().top, targetOffsetBottom = scrollTop + targetElement.getBoundingClientRect().bottom, swiperContainer, colorchipContainer; // swiperContainer if (els.productItems[i].querySelector('.accessories-options')) { swiperContainer = els.productItems[i].querySelector('.swiper-container-wrap.is-active .swiper-container'); } else { swiperContainer = els.productItems[i].querySelector('.accessories-product__contents .swiper-container'); } // colorchipContainer if (els.productItems[i].querySelector('.accessories-options')) { colorchipContainer = els.productItems[i].querySelector('.swiper-pagination-wrap.is-active .swiper-container'); } else { colorchipContainer = els.productItems[i].querySelector('.swiper-pagination-wrap .swiper-container'); } if ((scrollTop + 50) < targetOffsetBottom && (scrollBottom - 50) > targetOffsetTop) { setSwiper.product(swiperContainer); if (currDevice.indexOf('mobile') > -1) { setSwiper.colorchip(colorchipContainer); } } } }; const productItemElementsEvents = { optionChange: function (targetOption) { status.isOptionClick = true; let targetProperty = targetOption.accOptionProperty; let targetParent = targetProperty.parentWrap; let targetSwiperContainer = targetProperty.activeSwiperContainer; let oldSwiper = targetParent.querySelector('.swiper-container.swiper-container-initialized'); let optionList = targetParent.querySelectorAll('.accessories-product__option-item'); let targetColorchipSwiper = targetProperty.activeColorchipSwiper; let oldOption = targetParent.querySelector('.accessories-product__option-item.is-active'); let oldColorchipWrap = targetParent.querySelector('.swiper-pagination-wrap.is-active'); let oldSwiperWrap = targetParent.querySelector('.swiper-container-wrap.is-active'); let oldColorchipSwiper = oldColorchipWrap.querySelector('.swiper-container-initialized'); const _currentOptionItem = function () { // optBtn if (!targetProperty.optionBtnWrap.classList.contains('is-active')) { oldOption.classList.remove('is-active'); oldOption.querySelector('button').removeAttribute('title'); targetProperty.optionBtnWrap.classList.add('is-active'); if (typeof LOCAL_VARI != 'undefined' && !!LOCAL_VARI) { targetProperty.optionBtnWrap.querySelector('button').setAttribute('title', LOCAL_VARI.selected); } else { targetProperty.optionBtnWrap.querySelector('button').setAttribute('title', 'Selected'); } } // colorchipWrap if (!targetProperty.colorchipList.classList.contains('is-active')) { oldColorchipWrap.classList.remove('is-active'); targetProperty.colorchipList.classList.add('is-active'); } // swiperContainer if (!targetProperty.activeSwiperWrap.classList.contains('is-active')) { oldSwiperWrap.classList.remove('is-active'); targetProperty.activeSwiperWrap.classList.add('is-active'); } }; const _setCurrentOptionColorchip = function () { let oldColorchip = oldColorchipWrap.querySelector('.accessories__colorchip.is-active'); let activeColorchip = targetProperty.colorchipList.querySelectorAll('button'); let prevColor = oldColorchip.getAttribute('data-color'); let currentOptionColorchip = null; for (let i = 0; i < activeColorchip.length; i++) { if (prevColor == activeColorchip[i].getAttribute('data-color')) { currentOptionColorchip = activeColorchip[i]; } } if (currentOptionColorchip == null) { currentOptionColorchip = targetProperty.colorchipList.querySelector('button.is-active'); } return currentOptionColorchip; }; const _activeSlideTo = function () { let pagination = targetSwiperContainer.swiperProperty.pagination; let colorchips = pagination.querySelectorAll('.accessories__colorchip'); let colorchipIndex = [].indexOf.call(colorchips, _setCurrentOptionColorchip()); if (targetColorchipSwiper.classList.contains('swiper-container-initialized')) { targetColorchipSwiper.swiper.slideTo((colorchipIndex + 1), false); } targetSwiperContainer.swiper.slideTo((colorchipIndex + 1), 0, false); }; if (optionList.length > 1) { _currentOptionItem(); if (oldSwiper && oldSwiper.swiper != null) { swiperEvents.product.destroy(oldSwiper.swiper); } setSwiper.product(targetSwiperContainer); if (oldColorchipSwiper && oldColorchipSwiper.swiper != null) { swiperEvents.colorchip.destroy(oldColorchipSwiper.swiper); } setSwiper.colorchip(targetColorchipSwiper); var swiperInit = targetSwiperContainer.classList.contains('swiper-container-initialized'); if (swiperInit) { _activeSlideTo(); } else { let targetImg = activeSwiper.querySelectorAll('.accessories-product__image>img'); if (!targetImg[0].classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia(targetImg); } } productItemElementsEvents.colorChange(_setCurrentOptionColorchip()); } }, colorChange: function (targetColorchip) { let targetProperty = targetColorchip.accColorchipProperty; let targetParent = targetProperty.parentWrap; let optionList = targetParent.querySelectorAll('.accessories-product__option-item'); let activeColor = targetColorchip.getAttribute('aria-label'); let oldColorchip; if (optionList.length > 1) { oldColorchip = targetParent.querySelector('.swiper-pagination-wrap.is-active .is-active'); } else { oldColorchip = targetParent.querySelector('.swiper-pagination-wrap .is-active'); } els.oldColorchip = oldColorchip; if (!targetColorchip.classList.contains('is-active')) { oldColorchip.classList.remove('is-active'); oldColorchip.setAttribute('aria-selected', false); targetColorchip.classList.add('is-active'); targetColorchip.setAttribute('aria-selected', true); } targetProperty.currentColor.innerText = activeColor; this.ctaChange(targetColorchip); }, ctaChange: function (targetColorchip) { let targetProperty = targetColorchip.accColorchipProperty; let activeColorCtaUrl = targetColorchip.getAttribute('data-url'); if (!!targetProperty.cta) { if (activeColorCtaUrl == '#') { targetProperty.ctaWrap.style.visibility = 'hidden'; targetProperty.ctaWrap.setAttribute('tabindex', -1); targetProperty.ctaWrap.setAttribute('aria-hidden', true); } else { targetProperty.ctaWrap.style.visibility = ''; targetProperty.ctaWrap.removeAttribute('tabindex'); targetProperty.ctaWrap.removeAttribute('aria-hidden'); } flagship.accessories.buyable.doSku(targetColorchip); // tah } const _setTagging = function () { if (!!targetProperty.cta) { let dataOmni = targetProperty.cta.getAttribute('data-omni').split(':')[4], gala = targetProperty.cta.getAttribute('ga-la').split(':')[4], currColor = targetColorchip.getAttribute('data-color'); if (status.isOptionClick && targetProperty.parentWrap.querySelector('.accessories-product__option')) { let optionDataOmni = targetProperty.cta.getAttribute('data-omni').split(':')[2].split('^').reverse()[0], optionGala = targetProperty.cta.getAttribute('data-omni').split(':')[2].split('^').reverse()[0], currOption = targetProperty.parentWrap.querySelector('.accessories-product__option .is-active').innerText, currOptionText; if (currOption.toLowerCase().indexOf('galaxy') > -1) { currOption = currOption.split(' ')[1].toLowerCase(); if (currOption.indexOf('+') > -1) { currOption = currOption.replace('+', '-plus'); currOptionText = optionDataOmni.split('s24')[0] + currOption; } else { currOptionText = optionDataOmni.split('s24-plus')[0] + currOption; } } else { if (optionDataOmni.indexOf('classic') > -1) { currOptionText = optionDataOmni.split('classic')[0] + `classic-${currOption}`; } else { currOptionText = optionDataOmni.split('watch6')[0] + `watch6-${currOption}`; } } targetProperty.cta.setAttribute('data-omni', targetProperty.cta.getAttribute('data-omni').replace(optionDataOmni, currOptionText)); targetProperty.cta.setAttribute('ga-la', targetProperty.cta.getAttribute('ga-la').replace(optionGala, currOptionText)); status.isOptionClick = false; } targetProperty.cta.setAttribute('href', activeColorCtaUrl); targetProperty.cta.setAttribute('data-omni', targetProperty.cta.getAttribute('data-omni').replace(dataOmni, currColor)); targetProperty.cta.setAttribute('ga-la', targetProperty.cta.getAttribute('ga-la').replace(gala, currColor)); } }; _setTagging(); }, slideTo: function (targetColorchip) { let targetProperty = targetColorchip.accColorchipProperty, targetParent = targetProperty.parentWrap, colorchipList, swiperContainer, colorchipSwiperContainer; if (targetParent.querySelector('.accessories-options')) { swiperContainer = targetParent.querySelector('.swiper-container-wrap.is-active .swiper-container'); colorchipSwiperContainer = targetParent.querySelector('.swiper-pagination-wrap.is-active .swiper-container'); } else { swiperContainer = targetParent.querySelector('.accessories-product__contents>.swiper-container'); colorchipSwiperContainer = targetParent.querySelector('.swiper-pagination-wrap .swiper-container'); } if (swiperContainer.swiper != null) { if (targetParent.querySelector('.accessories-colors__wrap')) { let colorchipListWrap = targetParent.querySelector('.accessories-colors__wrap .swiper-pagination-wrap.is-active') colorchipList = Array.prototype.slice.call(colorchipListWrap.querySelectorAll('.accessories__colorchip')); } else { colorchipList = Array.prototype.slice.call(targetParent.querySelectorAll('.accessories__colorchip')); } let index = colorchipList.indexOf(targetColorchip); let oldColorchipIndex = colorchipList.indexOf(els.oldColorchip); swiperContainer.swiper.slideTo((index+1), 500, false); status.isClick = false; if (colorchipSwiperContainer.classList.contains('swiper-container-initialized')) { if (oldColorchipIndex < index && index >= 3 && index != (colorchipList.length - 1)) { colorchipSwiperContainer.swiper.slideNext(); } else if (index != 0 && oldColorchipIndex > index && index <= (colorchipList.length - 1)) { colorchipSwiperContainer.swiper.slidePrev(); } } } }, arrowHide: function () { if (els.oneProductItemList.length > 0) { for (let i = 0; i < els.oneProductItemList.length; i++) { let arrow = els.oneProductItemList[i].querySelector('.accessories-product__arrow'); if (arrow) arrow.style.display = 'none'; } } if (els.notSlideColorchipList.length > 0) { for (let i = 0; i < els.notSlideColorchipList.length; i++) { let arrow = els.notSlideColorchipList[i].querySelector('.accessories-colors__arrow'); if (arrow) arrow.style.display = 'none'; } } }, colorchipSwiperMove: function (targetColorchip) { let targetProperty = targetColorchip.accColorchipProperty, targetParent = targetProperty.parentWrap, colorchipList, colorchipSwiperContainer; if (targetParent.querySelector('.accessories-options')) { colorchipSwiperContainer = targetParent.querySelector('.swiper-pagination-wrap.is-active .swiper-container'); } else { colorchipSwiperContainer = targetParent.querySelector('.swiper-pagination-wrap .swiper-container'); } let colorchipListWrap = colorchipSwiperContainer; colorchipList = Array.prototype.slice.call(colorchipListWrap.querySelectorAll('.accessories__colorchip')); let index = colorchipList.indexOf(targetColorchip); let oldColorchipIndex = colorchipList.indexOf(els.oldColorchip); if (colorchipSwiperContainer.classList.contains('swiper-container-initialized')) { if (oldColorchipIndex < index && index >= 3 && index != (colorchipList.length - 1)) { colorchipSwiperContainer.swiper.slideNext(); } else if (index != 0 && oldColorchipIndex > index && index < (colorchipList.length - 1)) { colorchipSwiperContainer.swiper.slidePrev(); } else if (index == 0 || index == (colorchipList.length - 1)) { colorchipSwiperContainer.swiper.slideTo(index, false); } } } }; const onClickEvents = { clickItem: function (e) { if (e.target.matches('.accessories-product__option-btn')) { productItemElementsEvents.optionChange(e.target); } else if (e.target.matches('.accessories__colorchip')) { if (!e.target.classList.contains('accessories__colorchip--slide')) { status.isClick = true; productItemElementsEvents.colorChange(e.target); productItemElementsEvents.slideTo(e.target); productItemElementsEvents.colorchipSwiperMove(e.target); } } else if (e.target.matches('.accessories__radio')) { if (!e.target.parentElement.classList.contains('accessories__colorchip--slide')) { status.isClick = true; productItemElementsEvents.colorChange(e.target.parentElement); productItemElementsEvents.slideTo(e.target.parentElement); productItemElementsEvents.colorchipSwiperMove(e.target.parentElement); } } else if (e.target.matches('.accessories__radio-half')) { if (!e.target.parentElement.parentElement.classList.contains('accessories__colorchip--slide')) { status.isClick = true; productItemElementsEvents.colorChange(e.target.parentElement.parentElement); productItemElementsEvents.slideTo(e.target.parentElement.parentElement); productItemElementsEvents.colorchipSwiperMove(e.target.parentElement.parentElement); } } }, keydownItem: function (e) { if (e.keyCode == 13) { if (e.target.matches('.accessories-product__option-btn')) { e && e.preventDefault(); productItemElementsEvents.optionChange(e.target); } else if (e.target.matches('.accessories__colorchip')) { if (!e.target.classList.contains('accessories__colorchip--slide')) { e && e.preventDefault(); status.isClick = true; productItemElementsEvents.colorChange(e.target); productItemElementsEvents.slideTo(e.target); productItemElementsEvents.colorchipSwiperMove(e.target); } } } } }; const swiperEvents = { product: { init: function () { let notification = this.el.querySelector('.swiper-notification'); let self = this; if (!!notification) this.el.removeChild(notification); let cloneSlides = this.el.querySelectorAll('.swiper-slide-duplicate'); for (let i = 0; i < cloneSlides.length; i++) { let cloneId = cloneSlides[i].getAttribute('id'); cloneSlides[i].setAttribute('id', cloneId + '-clone'); } let pagination = this.el.swiperProperty.pagination, colorchips = pagination.querySelectorAll('.accessories__colorchip'), activeColorchip = pagination.querySelector('.accessories__colorchip.is-active'), colorchipIndex = [].indexOf.call(colorchips, activeColorchip); if (colorchipIndex != 0) { this.slideTo((colorchipIndex + 1), 0, false); } const _setImgLoader = function () { let activeSlideImg = self.slides[self.activeIndex].querySelectorAll('img'), prevSlideImg = self.slides[self.activeIndex - 1].querySelectorAll('img'), nextIndex = (self.activeIndex < self.slides.length - 1) ? (self.activeIndex + 1) : 0, nextSlide = self.slides[nextIndex], nextSlideImg = nextSlide.querySelectorAll('img'); if (activeSlideImg[0] && !activeSlideImg[0].classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia(activeSlideImg); } if (prevSlideImg[0] && !prevSlideImg[0].classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia(prevSlideImg); } if (nextSlideImg[0] && !nextSlideImg[0].classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia(nextSlideImg); } }; _setImgLoader(); accessibility.productSlide.call(this); if (this.navigation.prevEl) this.navigation.prevEl.removeAttribute('aria-label'); if (this.navigation.nextEl) this.navigation.nextEl.removeAttribute('aria-label'); }, slideChange: function () { let self = this; if (this && !status.isClick) { let activeIndex = this.realIndex, activeColorchipWrap = this.el.swiperProperty.pagination, activeColorchip = activeColorchipWrap.querySelectorAll('.accessories__colorchip'); productItemElementsEvents.colorChange(activeColorchip[activeIndex]); productItemElementsEvents.colorchipSwiperMove(activeColorchip[activeIndex]); } const _setImgLoader = function () { let activeSlideImg = self.slides[self.activeIndex].querySelectorAll('img'), nextIndex = (self.activeIndex < self.slides.length - 1) ? (self.activeIndex + 1) : 0, nextSlide = self.slides[nextIndex], nextSlideImg = nextSlide.querySelectorAll('img'); if (activeSlideImg[0] && !activeSlideImg[0].classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia(activeSlideImg); } if (nextSlideImg[0] && !nextSlideImg[0].classList.contains('is-img-load-complete')) { imageLoader.setResponsiveMedia(nextSlideImg); } }; _setImgLoader(); accessibility.productSlide.call(this); }, slideChangeTransitionEnd: function () { status.isClick = false; }, destroy: function (target) { target.destroy(); } }, colorchip: { init: function () { let notification = this.el.querySelector('.swiper-notification'); if (!!notification) this.el.removeChild(notification); accessibility.colorchipSlide.call(this); if (this.navigation.prevEl) this.navigation.prevEl.removeAttribute('aria-label'); if (this.navigation.nextEl) this.navigation.nextEl.removeAttribute('aria-label'); }, slideChange: function () { accessibility.colorchipSlide.call(this); }, destroy: function (target) { target.destroy(); } } }; const accessibility = { productSlide: function () { for (let i = 0; i < this.slides.length; i++) { if (i != this.activeIndex) { this.slides[i].setAttribute('aria-hidden', true); this.slides[i].setAttribute('tabindex', -1); } else { this.slides[i].setAttribute('aria-hidden', false); this.slides[i].removeAttribute('tabindex'); } } }, colorchipSlide: function () { let isNotActivedColorchips = null; for (let i = 0; i < this.slides.length; i++) { isNotActivedColorchips = (i != this.activeIndex) && (i > (this.activeIndex + 3) || (i < (this.activeIndex))); if (isNotActivedColorchips) { this.slides[i].setAttribute('aria-hidden', true); this.slides[i].setAttribute('tabindex', -1); } else { this.slides[i].setAttribute('aria-hidden', false); this.slides[i].removeAttribute('tabindex'); } } } }; return { init: init } })();})();;(function () { window.flagship.accessories = window.flagship.accessories || {}; flagship.accessories.matchHeight = (function () { const resize = window.flagship.common.resize; let els = {}; let currDevice = resize.checkResolution(); const arrays = { productItemArr: [] }; const init = function () { els.section = document.querySelector('#accessories'); if (!!els.section) { setElements(); bindEvents(); } }; const setElements = function () { els.productList = els.section.querySelectorAll('.accessories-product__list'); els.productLists = Array.prototype.slice.call(els.productList); }; const bindEvents = function () { window.addEventListener('DOMContentLoaded', onLoadHandler, {once: true}); resize.add(onResizeHandler); }; const onResizeHandler = function (currRes) { currDevice = currRes; if (currDevice == null || currDevice.indexOf('mobile') < 0) { matchHeight.setHeight(); } }; const onLoadHandler = function () { if (currDevice == null || currDevice.indexOf('mobile') < 0) { matchHeight.setHeight(); } }; const matchHeight = { setList: function () { let listItems = null; for (let i = 0; i < els.productLists.length; i++) { listItems = Array.prototype.slice.call(els.productLists[i].querySelectorAll('.accessories-product__item')); arrays.productItemArr.push(listItems); } }, setHeight: function () { matchHeight.setList(); let title = null, desc = null, lineCta = null; arrays.productItemArr.forEach(function (productItem) { let itemArr = [], titleArr = [], descArr = [], lineCtaArr = [], maxTitle = 0, maxDesc = 0, maxLineCta = 0; productItem.forEach(function (item) { title = item.querySelector('.accessories-product__title'); desc = item.querySelector('.accessories-product__description'); lineCta = item.querySelector('.accessories-product__cta--underline'); itemArr.push(item); if (title != null) { title.style.height = ''; titleArr.push(title.clientHeight); } if (desc != null) { desc.style.height = ''; descArr.push(desc.clientHeight); } if (lineCta != null) { lineCta.style.height = ''; lineCtaArr.push(lineCta.clientHeight); } }); itemArr = itemSlice(itemArr, 2); titleArr = itemSlice(titleArr, 2); descArr = itemSlice(descArr, 2); lineCtaArr = itemSlice(lineCtaArr, 2); for (let i = 0; i < itemArr.length; i++) { maxTitle = titleArr[i].reduce(function (prev, titleArr) { return Math.max(prev, titleArr); }); maxDesc = descArr[i].reduce(function (prev, descArr) { return Math.max(prev, descArr); }); if (lineCtaArr[i] != null) { maxLineCta = lineCtaArr[i].reduce(function (prev, lineCtaArr) { return Math.max(prev, lineCtaArr); }); } for (let j = 0; j < itemArr[i].length; j++) { if (maxTitle != itemArr[i][j].querySelector('.accessories-product__title').clientHeight) { itemArr[i][j].querySelector('.accessories-product__title').style.height = maxTitle + 'px'; } if (maxDesc != itemArr[i][j].querySelector('.accessories-product__description').clientHeight) { itemArr[i][j].querySelector('.accessories-product__description').style.height = maxDesc + 'px'; } if (itemArr[i][j].querySelector('.accessories-product__cta--underline') != null && maxLineCta != itemArr[i][j].querySelector('.accessories-product__cta--underline').clientHeight) { itemArr[i][j].querySelector('.accessories-product__cta--underline').style.height = maxLineCta + 'px'; } } } }); } }; const itemSlice = function (data, size) { let arr = []; for (let i = 0; i < data.length; i += size) { arr.push(data.slice(i, i + size)); } return arr; }; return { init: init } })();})();;(function () { window.flagship.accessories = window.flagship.accessories || {}; flagship.accessories.overview = (function () { const utils = window.flagship.common.utils; let els = {}; const init = function () { els.section = document.querySelector('.accessories-overview'); if (!!els.section) { setElements(); bindEvents(); } }; const setElements = function () { els.overviewBtn = els.section.querySelectorAll('.accessories-overview__item a'); }; const bindEvents = function () { for (let i = 0; i < els.overviewBtn.length; i++) { els.overviewBtn[i].addEventListener('click', onClickoverviewBtn); } }; const onClickoverviewBtn = function (e) { e.preventDefault(); let navHeight = utils.getNavHeight(); let sectionId = this.getAttribute('href').split('#')[1]; let section = document.querySelector('#' + sectionId); let sectionTop = section.getBoundingClientRect().top; let sectionScroll = window.pageYOffset + sectionTop - navHeight; let sectionTimeout = null; clearTimeout(sectionTimeout); sectionTimeout = setTimeout(function () { section.querySelector('.accessories-visual__headline').setAttribute('tabindex', 0); section.querySelector('.accessories-visual__headline').focus(); window.scrollTo(0, sectionScroll); }, 30); section.querySelector('.accessories-visual__headline').addEventListener('focusout', function () { section.querySelector('.accessories-visual__headline').removeAttribute('tabindex'); }); }; return { init: init } })();})();(function () { window.flagship = window.flagship || {}; window.flagship.accessories = window.flagship.accessories || {}; window.flagship.accessories.ytPopup = (function () { let els = {}; const utils = window.flagship.common.utils; const init = function () { els.layerPopup = document.querySelector('.common-youtube-popup'); if(!!els.layerPopup) { setElements(); setPopup(); } }; const setElements = function () { els.contents = document.querySelector('#contents'); els.openCtas = document.querySelectorAll('.js-youtube-popup'); els.closeCta = document.querySelector('.common-youtube-popup__close-cta'); els.ytIframe = els.layerPopup.querySelector('.common-youtube-popup__iframe > iframe'); els.ytDesc = els.layerPopup.querySelector('.youtube-player__desc'); els.dimmed = els.layerPopup.querySelector('.common-youtube-popup__close-area'); }; const setPopup = function () { for (let i = 0; i < els.openCtas.length; i++) { utils.layerPopup({ layerPopup: els.layerPopup, layerPopupClass: '.common-youtube-popup', openerEvent: { element: els.openCtas[i], }, closeCtas: [els.closeCta], dimmed: els.dimmed, moveTarget: document.documentElement, contents: els.contents, show: { start: function () { els.layerPopup.classList.add('is-yt-open'); }, end: function (target) { eventList.setYoutube(target); } }, hide: { start: function () { els.layerPopup.classList.remove('is-yt-open'); }, end: function () { eventList.clearYoutube(); } } }); } }; const eventList = { setYoutube: function (target) { let opener = target.openerCta, ytSrc = 'htt' + 'ps://www.youtube.com/embed/' + opener.getAttribute('data-youtube-id') + '?wmode=opaque&rel=0&enablejsapi=1&version=3&autoplay=1', ytTitle = opener.getAttribute('data-youtube-title'), ytBlind = opener.querySelector('.blind').innerHTML; els.ytIframe.setAttribute('src', ytSrc); els.ytIframe.setAttribute('title', ytTitle); els.ytDesc.innerHTML = ytBlind; els.OpenerTarget = opener; }, clearYoutube: function () { els.ytIframe.removeAttribute('src'); els.ytDesc.innerHTML = ''; } }; return { init: init, } })();})();(function () { window.flagship.common.resize.bindEvent(); const initComponents = function () { flagship.accessories.overview.init(); flagship.accessories.colorchip.init(); flagship.accessories.matchHeight.init(); flagship.accessories.ytPopup.init(); }; initComponents();})(); });