Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (2024)

Galaxy S24 Ultra

  • SPEZIFIKATIONEN
  • REZENSIONEN

Jetzt kaufen

  • Highlights
  • Vergleichen
  • Zubehör
  • SPEZIFIKATIONEN
  • REZENSIONEN
Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (1) Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (2)
  • * Zubehör ist nicht im Lieferumfang enthalten. Die Verfügbarkeit der Modelle und Farben kann je nach Anbieter, Land oder Region variieren.

  • ** Bilder zu illustrativen Zwecken simuliert. Die tatsächliche Benutzeroberfläche kann abweichen.

Ultra Zubehör.
Ultra extra.

  • Cases
  • Galaxy Watch
  • Galaxy Buds

Praktisch. Stylisch. Rundherum Ultra.

Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (3)

  • Flipsuit Case

    Mit diesem interaktiven Case kannst du deinen Sperrbildschirm und Always On-Display anpassen und deinen Style mit austauschbaren Karten zeigen.,,,,,

    Jetzt vorbestellen

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (4)

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (5)

    Yellow

  • Standing Grip Case

    Mit diesem Case hast du dein Smartphone leicht in der Hand und kannst es aufstellen, um deine Inhalte freihändig anzuschauen.

    Jetzt vorbestellen

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (6)

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (7)

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (8)

    Light Blue

  • Clear Gadget Case

    Bringe die Farbe deines neuen Galaxy Smartphones zum Glänzen. Dieses transparente Case hat ein austauschbares Band und einen Standfuß.,

    Jetzt vorbestellen

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (9)

    Transparent

  • Smart View Wallet Case

    Steuere deine Musik und nimm Anrufe entgegen, ohne dein Case zu öffnen. Und deine wichtigste Karte kannst du in dem integrierten Kartenfach verstauen.,

    Jetzt vorbestellen

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (10)

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (11)

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (12)

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (13)

    Black

  • Silicone Case

    Mit diesen unwiderstehlichen Farben kannst du dich gar nicht falsch entscheiden. Jede setzt ein starkes Statement.

    Jetzt vorbestellen

  • Vegan Leather Case

    Verleihe deinem neuen Galaxy einen Hauch von Eleganz mit einem Case, das geschmeidig in deiner Hand liegt.

    Jetzt vorbestellen

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (19)

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (20)

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (21)

    Dark Violet

  • Shield Case

    Wer sagt, dass Schutz nicht stylish sein kann? Dieses Case schützt dein Smartphone und sieht dabei noch richtig gut aus.

    Jetzt vorbestellen

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (22)

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (23)

    Light Gray

  • Clear Case

    Mit dem Clear Case kannst du das originale Design deines neuen Galaxy Smartphones zum Strahlen bringen und dafür sorgen, dass es noch lange erhalten bleibt.

    Jetzt vorbestellen

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (24)

    Transparent

  • Anti-Reflecting Screen Protector

    Mit der zusätzlichen Schutzschicht kannst du das Display deines neuen Smartphones vor Kratzern schützen und deine Inhalte klar und deutlich sehen.

    Jetzt vorbestellen

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (25)

    Transparent

  • S Pen für das
    Galaxy S24 Ultra

    Schnapp dir deinen S Pen und mache ganz bequem Notizen – egal wo du bist. Du kannst mit deinem S Pen sogar Präsentationen starten und deine Kamera steuern.

    Jetzt vorbestellen

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (26)

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (27)

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (28)

    Gray

Aufladen und verbunden bleiben

Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (29)

  • Galaxy SmartTag2

    Tagge die Geräte, die dir wichtig sind. So kannst du sie schnell wiederfinden, wenn du sie mal aus den Augen verloren hast.

    Mehr erfahren

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (30)

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (31)

    Black

  • Ladeadapter mit Schnellladefunktion
    (25 W)

    Power-Boost mit Super Schnellladefunktion – dein zuverlässiger, kompakter Begleiter.

    Mehr erfahren

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (32)

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (33)

    Black

  • Wireless Charger Duo

    Lade bis zu zwei Geräte gleichzeitig, auf der einen Seite deine Galaxy Watch oder Galaxy Buds und auf der anderen Seite dein Smartphone mit.

    Mehr erfahren

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (34)

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (35)

    Black

  • Powerbank

    Diese Powerbank mit 10.000 mAh bietet bis zu 25 W Superschnellladen und verfügt über zwei USB-Typ-C-Anschlüsse.,,

    Mehr erfahren

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (36)

    Beige

Smartwatches für deine Fitness und dein Outfit

Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (37)

  • Galaxy Watch6

    Starte deine tägliche Fitnessroutine mit der Galaxy Watch6.

    Jetzt kaufen

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (38)

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (39)

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (40)

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (41)

    Graphite

  • Galaxy Watch6 Classic

    Unsere beliebte drehbare Lünette ist jetzt 15 % schlanker.

    Jetzt kaufen

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (42)

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (43)

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (44)

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (45)

    Black

Erlebe mit Galaxy Buds deine Lieblingsmusik neu

Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (46)

  • Galaxy Buds2 Pro

    Gib deiner Playlist einen Boost mit der aktiven Geräuschunterdrückung und kristallklarem Sound. Dank der bequemen Passform kannst du deine Musik noch länger genießen.

    Jetzt kaufen

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (47)

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (48)

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (49)

    Bora Purple

  • Galaxy Buds2

    Ob beim Trainieren, Gaming oder Telefonieren – mit der aktiven Geräuschunterdrückung (ANC) bleibst du mitten im Geschehen.

    Jetzt kaufen

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (50)

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (51)

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (52)

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (53)

    Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (54)

    Olive

Smartphone-Zubehör

Entdecke die neuesten Galaxy S24 | S24+ und
S24 Ultra Essentials und definiere deinen Style neu.

* Zubehör ist nicht im Lieferumfang enthalten.

Alle ansehen

Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (55)

Galaxy S24 | S24+

Mehr erfahren

Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (56)

Finde heraus, wie du dein Galaxy
S24 Ultra noch smarter erhalten kannst

Jetzt kaufen Jetzt reservieren Jetzt vorbestellen Händlersuche

Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (57)

Zum Galaxy S24 Ultra in Augmented Reality In Augmented Reality öffnen

Die Welt steht dir offen mit Samsung Galaxy

Mehr entdecken

Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (61)

* Alle Spezifikationen und Beschreibungen auf dieser Seite können von den tatsächlichen Spezifikationen und Beschreibungen für das Produkt abweichen. Samsung behält sich das Recht vor, dieses Dokument und die darin beschriebenen Produkte jederzeit und ohne Angabe von Gründen zu ändern. Alle Funktionalitäten, Eigenschaften, Spezifikationen, Benutzeroberflächen und andere Produktinformationen in diesem Dokument, eingeschlossen aber nicht beschränkt auf Produktvorteile, Design, Preis, Komponenten, Leistung, Verfügbarkeit und Produkteigenschaften können jederzeit ohne Angabe von Gründen geändert werden. Die Bildschirminhalte sind simuliert und nur zu Demonstrationszwecken erstellt.

** Für das FlipSuit Case-Zubehör der jeweiligen Marke ist nur eine Kollaborationskarte in der Verpackung enthalten.

*** Der Inhalt der Kollaborationskarten muss vor der Verwendung separat heruntergeladen werden; für den Download ist eine Netzwerkverbindung erforderlich.

  1. Zubehör und das Galaxy S24 | S24+ und S24 Ultra sind nicht im Lieferumfang enthalten.
  2. Die Verfügbarkeit von Farben, Modellen und Zubehördesigns kann je nach Land, Region oder Anbieter variieren.
  3. Pro Karte wird nur ein Inhalt angezeigt.
  4. Für das Flipsuit Case-Zubehör der jeweiligen Marke ist nur eine Flipcard aus der Kollaboration in der Verpackung enthalten.
  5. Die tatsächliche Farbe, die Designoptionen und der Inhalt, der auf dem Flipsuit Case der jeweiligen Marke angezeigt wird, können abweichen.
  6. Der Inhalt der Kollaborationskarten muss vor der Verwendung separat heruntergeladen werden; für den Download ist eine Netzwerkverbindung erforderlich.
  7. Die Abdeckkappe und der Ringhalter/ Standfuß sind abnehmbar und austauschbar.
  8. In der Verpackung enthaltene Artikel: Clear Gadget Case mit Ringhalter/ Standfuß und Strap.
  9. Drei Funktionen – Zeit, Benachrichtigungen und Musiksteuerung – werden unterstützt, ohne dass das Case geöffnet werden muss.
  10. Bilder zu illustrativen Zwecken simuliert. Die tatsächliche Benutzeroberfläche kann abweichen.
  11. Die Verfügbarkeit der Farben kann je nach Land oder Anbieter variieren.
  12. Der Galaxy S24 Ultra S Pen ist nur mit dem Galaxy S24 Ultra kompatibel. Die Verfügbarkeit der Funktionen Air Command und Air Action kann je nach Modell oder App variieren.
  13. Erfordert Samsung Galaxy-Smartphones oder -Tablets ab Android11.0 und mit freiem Arbeitsspeicher ab 3GB. Der Benutzer muss sich für die SmartThings Find-App anmelden und im Samsung Account eingeloggt sein. Die Reichweite von Bluetooth LE beträgt ohne Hindernisse bis zu 120m. Wenn sich der Galaxy SmartTag2 außerhalb der Reichweite befindet, wird das Galaxy Find Netzwerk zur Ortung verwendet (Genauigkeit des Galaxy Find Netzwerkes basiert auf den angemeldeten Galaxy-Nutzern, die sich in Reichweite des SmartTags befinden).
  14. Die Schnelladefunktion (SFC) erfordert ein USB Power Delivery 3.0-kompatibles Gerät, das Direct Charging unterstützt. Geräte, die den USB Power Delivery 3.0-Standard oder Direct Charging nicht unterstützen, werden langsamer als mit SFC-Geschwindigkeit geladen.
  15. Der Wireless Charger benötigt einen Stromanschluss. Die Ladegeschwindigkeit kann je nach Gerät variieren. Die tatsächliche Ladegeschwindigkeit kann je nach Nutzung, Ladebedingungen und anderen Faktoren variieren.
  16. Die Super-Schnellladefunktion ist nur verfügbar, wenn sie an ein einzelnes Gerät angeschlossen ist.
  17. Nur ein Kabel ist im Lieferumfang enthalten. Das zweite Kabel ist separat erhältlich.
  18. Die Galaxy Watch6 Small (40 mm) bietet eine 30 Prozent dünnere Lünette als die Galaxy Watch5 (40 mm), während die Galaxy Watch6 Classic eine 15 Prozent dünnere Lünette als die Galaxy Watch4 Classic bietet.

" ) ); } } }; 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 < els.supClicker.length; i++) { els.supClicker[i].addEventListener("click", common.onClickSup); } }; const setCenteredfocus = function () { els.contents = document.querySelector("#contents"); els.allClickables = els.contents.querySelectorAll( "a, button, input, select" ); for (let i = 0; i < els.allClickables.length; i++) { els.allClickables[i].addEventListener( "focusin", common.centeredFocus ); } }; const setDisclaimerNumber = function () { const supTag = document.querySelectorAll(".click_sup"), btmDicl = document.querySelectorAll( "li.common-bottom-disclaimer__list-item" ); let btmDiclArr = []; for (let i = 0; i < btmDicl.length; i++) { let dataSup = btmDicl[i].getAttribute("data-sup"); btmDiclArr.push(dataSup); } for (let j = 0; j < supTag.length; j++) { let dataSupTag = supTag[j].getAttribute("data-sup-tag"); let supChildCount = supTag[j].parentElement.childElementCount; if (btmDiclArr.indexOf(dataSupTag) > -1) { supTag[j].innerText = btmDiclArr.indexOf(dataSupTag) + 1; } else { if (supChildCount == 1) { supTag[j].parentElement.remove(); } else { let supParent = supTag[j].parentElement.childNodes; let supArr = []; for (let supIndex = 0; supIndex < supParent.length; supIndex++) { supArr.push(supParent[supIndex]); } let index = supArr.indexOf(supTag[j]); if (index != 0 && index % 2 == 0) { supParent[index].remove(); supParent[index - 1].remove(); } else { if (index != supArr.length) supParent[index + 1].remove(); supParent[index].remove(); } } } } }; const anchorPosition = function () { if ( window.location.hash != "" && !!document.querySelector(window.location.hash) ) { let hash = location.hash.split("#")[1], hashSection = document.querySelector("#" + hash), hashTimeout = null; clearTimeout(hashTimeout); hashTimeout = setTimeout(function () { let sectionTop = hashSection.getBoundingClientRect().top, navHeight = utils.getNavHeight(), hashScroll = window.pageYOffset + sectionTop - navHeight; window.scrollTo(0, hashScroll); }, 300); } }; const onLoadHandler = function () { common.setLownetworkClass(); common.setArBanner(); init(); bindEvents(); setResize(); if (!maxOs && !touchDevice) { setScrollControl(); } setCenteredfocus(); setDisclaimerNumber(); setDisclaimer(); setImageLoader(); }; onLoadHandler(); })(); (function () { window.flagship.accessories = window.flagship.accessories || {}; flagship.accessories.buyable = (function () { var self = {}; // should change the below to use self to be consisitent var utils = window.flagship.common.utils; var site = null; var makeBuyable = false; var comingSoonCopy = null; var outOfStockCopy = null; var shopIntegrationFlag = null; var isOldHybris = false; var isNewHybris = false; var init = function () { site = $("meta[name=sitecode]").attr("content"); // get the coming soon copy ... var comingSoonDiv = $("#makeAccessoriesBuyable_ComingSoon"); // if coming soon copy exists - makeBuyable makeBuyable = $(comingSoonDiv).length > 0; console.log("buyable.init - " + site + " " + makeBuyable); if (makeBuyable) { shopIntegrationFlag = $("#shopIntegrationFlag").val(); isOldHybris = shopIntegrationFlag === "Hybris" || shopIntegrationFlag === "Hybris-intg"; isNewHybris = shopIntegrationFlag === "Hybris-new"; // get the coming soon copy ... comingSoonCopy = $(comingSoonDiv).text(); outOfStockCopy = $(comingSoonDiv).attr("data-outOfStock"); console.log( "buyable.init - " + comingSoonCopy + " " + outOfStockCopy + " " + isOldHybris + " " + isNewHybris ); // doIt(); $( ".accessories-product__item .accessories-product__cta .common-cta-encased" ).on("click", function (e) { // check if linking or if adding to cart - href vs sku var sku = $(this).data("sku"); var href = $(this).attr("href"); console.log(sku + " " + href); if (sku) { e.preventDefault(); // console.log('add to Basket - ' + sku); doAddToCart(sku); } else { // console.log('go to ' + href); } }); } else { console.log("buyable.init OFF"); } }; var doIt = function () { console.log("buyable.doIt"); }; var doAddToCart = function (sku) { doAddToCartHybris(sku); }; var doAddToCartHybris = function (sku) { console.log("doAddToCartHybris - " + sku); // doAddToCartHybrisOld - not being used ... not checking isOldHybris / isNewHybris doAddToCartHybrisNew(sku, function () { console.log("doAddToCartHybrisNew - done"); }); }; var doAddToCartHybrisNew = function (sku, cb) { var url = "https://shop.samsung.com/" + site + "/servicesv2/addToCart"; var postParam = { products: [{ productCode: sku, quantity: 1 }] }; console.log("url", url); console.log("postParam", postParam); doShowProgress(); $.ajax({ url: url, type: "POST", data: JSON.stringify(postParam), dataType: "json", xhrFields: { withCredentials: true }, contentType: "application/json", timeout: 20000, beforeSend: function () { doShowProgress(); }, success: function (data) { console.log("data", data); if (data.resultCode == "0000") { // don't show popup - go straight to cart ... doShowProgress(); window.location.href = "https://shop.samsung.com" + "/" + site + "/cart"; } else { console.log("fail!"); } }, error: function (o) { doHideProgress(); console.log("error!"); }, complete: function (x) { cb(); }, }); }; var doAddToCartHybrisOld = function (sku, cb) { var params = "products[0].productCode=" + sku + "&products[0].quantity=1"; doShowProgress(); $.ajax({ url: "https://shop.samsung.com" + "/" + site + "/ng/p4v1/addToCart?" + params, // type: "GET", // data: {}, // dataType: "jsonp", // jsonp: "callback", // async: !1, // timeout: 1e4, cache: false, crossDomain: true, xhrFields: { withCredentials: true }, dataType: "json", timeout: 20000, beforeSend: function () { doShowProgress(); }, success: function (s) { doHideProgress(); if ("0000" == s.resultCode) { // don't show popup - go straigh to cart ... doShowProgress(); window.location.href = "https://shop.samsung.com" + "/" + site + "/cart"; } else { console.log("fail!"); } }, error: function (o) { doHideProgress(); console.log("error!"); }, complete: function (x) { cb(); }, }); }; var doShowProgress = function () { // console.log('show progress'); $(".cm-configurator-loader").stop(true, true).show(); }; var doHideProgress = function () { // console.log('hide progress'); $(".cm-configurator-loader").hide(); }; var doSku = function (that) { var sku = that.getAttribute("data-sku"); var url = that.getAttribute("data-url"); console.log("TAH - doSku", sku, url); var product = that.closest(".accessories-product__item"); var cta = product.querySelector(".accessories-product__cta"); // hide the button and remove the price - these will be reshown/added based on sku info $(cta).addClass("off"); $(cta).find(".price").remove(); if (sku && makeBuyable) { console.log(sku + " - need to get price/stock etc"); var ctaBtn = product.querySelector(".common-cta-encased"); ctaBtn.setAttribute("data-sku", sku); // to be used for a2b doGetSkuInfo(sku, cta); } else if (url) { console.log(url + " - url so display the CTA"); $(cta).removeClass("off"); } else { console.log("no sku OR url OR turned off"); } }; var doGetSkuInfo = function (sku, cta) { // hide the button and remove the price - these will be reshown/added based on sku info $(cta).addClass("off"); $(cta).find(".price").remove(); doGetSkuInfoHybris(sku, cta, function (data) { doDisplaySkuInfo(sku, cta, data); }); }; var doGetSkuInfoHybris = function (sku, cta, cb) { if (isOldHybris) { doGetSkuInfoHybrisOld(sku, cta, cb); } else if (isNewHybris) { doGetSkuInfoHybrisNew(sku, cta, cb); } else if (site == "ie") { console.log("TODO - exertis - " + sku); } }; var doGetSkuInfoHybrisOld = function (sku, cta, cb) { console.log("hybris old - " + sku); var result = {}; var params = "productCodes=" + sku; $.ajax({ url: "https://shop.samsung.com/" + site + "/servicesv2/getSimpleProductsInfo?" + params, type: "GET", data: {}, dataType: "jsonp", jsonpCallback: "jQuery12345678901234567890_" + sku.toString().toLowerCase().replace("-", "").replace("/", ""), cache: !0, crossDomain: !0, timeout: 1e4, success: function (s) { if ( "0000" == s.resultCode && s.productDatas && s.productDatas.length == 1 ) { var data = s.productDatas[0]; // console.log(data); if ("0000" == data.resultCode) { // console.log('success workings - ' + data.productCode); result.productCode = data.productCode; result.price = data.price; result.priceFormatted = data.priceFormatted; result.promotionPrice = data.promotionPrice; result.promotionPriceFormatted = data.promotionPriceFormatted; result.stockLevelStatus = data.stockLevelStatus; result.stockLevelStatusDisplay = data.stockLevelStatusDisplay; // KD 20220805 force OOS copy if (data.stockLevelStatus == "outOfStock") { result.stockLevelStatusDisplay = outOfStockCopy; } cb(result); } else { console.log("fail sku!"); cb(result); } } else { console.log("fail!"); cb(result); } }, error: function (o) { console.log("error! " + sku, o); cb(result); }, }); }; var doGetSkuInfoHybrisNew = function (sku, cta, cb) { console.log("hybris new - " + sku); var result = {}; var params = "productCodes=" + sku + "&fields=SIMPLE_INFO"; $.ajax({ url: "https://shop.samsung.com/tokocommercewebservices/v2/" + site + "/products?" + params, type: "GET", data: {}, dataType: "json", cache: !0, crossDomain: !0, timeout: 1e4, success: function (s) { if (s && s.length == 1) { var data = s[0]; // console.log(data); var productCode = data.code; var price = null; var priceFormatted = null; var promotionPrice = null; var promotionPriceFormatted = null; if (data.price) { price = data.price.value; priceFormatted = data.price.formattedValue; } if (data.promotionPrice) { promotionPrice = data.promotionPrice.value; promotionPriceFormatted = data.promotionPrice.formattedValue; } var stockLevelStatus = "outOfStock"; var stockLevelStatusDisplay = outOfStockCopy; if ( data.stock && data.stock.stockLevelStatus && (data.stock.stockLevelStatus.toLowerCase() == "instock" || data.stock.stockLevelStatus.toLowerCase() == "backorder" || data.stock.stockLevelStatus.toLowerCase() == "preorder") ) { stockLevelStatus = "inStock"; stockLevelStatusDisplay = ""; // not used if not outOfStock } result.productCode = productCode; result.price = price; result.priceFormatted = priceFormatted; result.promotionPrice = promotionPrice; result.promotionPriceFormatted = promotionPriceFormatted; result.stockLevelStatus = stockLevelStatus; result.stockLevelStatusDisplay = stockLevelStatusDisplay; cb(result); } else { console.log("fail!"); cb(result); } }, error: function (o) { console.log("error! " + sku, o); cb(result); }, }); }; var doDisplaySkuInfo = function (sku, cta, data) { console.log(data); // hide the button and remove the price - these will be reshown/added based on sku info $(cta).addClass("off"); $(cta).find(".price").remove(); if (data.price) { var text = ""; if (data.stockLevelStatus == "outOfStock") { text += "" + data.stockLevelStatusDisplay + ""; } if (data.promotionPrice) { if ( data.priceFormatted != null && data.promotionPriceFormatted != null ) { text += '' + data.priceFormatted + '' + data.promotionPriceFormatted + ""; } } else { if (data.priceFormatted != null) { text += "" + data.priceFormatted + ""; } } if (data.stockLevelStatus != "outOfStock") { // sku exists AND product is REAL AND != outOfStock - show the button $(cta).removeClass("off"); // TRACKING ... TODO } $(cta).append('

' + 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 (optionDataOmni.toLowerCase().indexOf("watch") > -1) { 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.common.resize.bindEvent(); const initComponents = function () { flagship.accessories.overview.init(); flagship.accessories.colorchip.init(); flagship.accessories.matchHeight.init(); }; initComponents(); })(); });

Zubehör & Cases | Galaxy S24 Ultra | Samsung DE (2024)

References

Top Articles
Latest Posts
Article information

Author: Nathanial Hackett

Last Updated:

Views: 5929

Rating: 4.1 / 5 (72 voted)

Reviews: 95% of readers found this page helpful

Author information

Name: Nathanial Hackett

Birthday: 1997-10-09

Address: Apt. 935 264 Abshire Canyon, South Nerissachester, NM 01800

Phone: +9752624861224

Job: Forward Technology Assistant

Hobby: Listening to music, Shopping, Vacation, Baton twirling, Flower arranging, Blacksmithing, Do it yourself

Introduction: My name is Nathanial Hackett, I am a lovely, curious, smiling, lively, thoughtful, courageous, lively person who loves writing and wants to share my knowledge and understanding with you.