Medizinschrank

Medizinschrank

Motiv Thema
var $rows = $('.widget-filter-base .card-columns'); $rows.first().append($rows.not(':first').children()) $rows.not(':first').remove();
Farbe Motiv
var $rows = $('.widget-filter-base .card-columns'); $rows.first().append($rows.not(':first').children()) $rows.not(':first').remove();
Foto oder Grafik
var $rows = $('.widget-filter-base .card-columns'); $rows.first().append($rows.not(':first').children()) $rows.not(':first').remove();
Bauart
var $rows = $('.widget-filter-base .card-columns'); $rows.first().append($rows.not(':first').children()) $rows.not(':first').remove();
Format
var $rows = $('.widget-filter-base .card-columns'); $rows.first().append($rows.not(':first').children()) $rows.not(':first').remove();
Material
var $rows = $('.widget-filter-base .card-columns'); $rows.first().append($rows.not(':first').children()) $rows.not(':first').remove();
Individualisierung
var $rows = $('.widget-filter-base .card-columns'); $rows.first().append($rows.not(':first').children()) $rows.not(':first').remove();
Preis
"use strict"; var keypressSlider = document.querySelector(".slider-keypress"); var input0 = document.querySelector(".input-with-keypress-0"); var input1 = document.querySelector(".input-with-keypress-1"); var inputs = [input0, input1]; noUiSlider.create(keypressSlider, { start: [84.99, 98.99], connect: true, range: { min: [84.99], max: [98.99] } }); keypressSlider.noUiSlider.on("update", function(values, handle) { inputs[handle].value = values[handle]; function setSliderHandle(i, value) { var r = [null, null]; r[i] = value; keypressSlider.noUiSlider.set(r); } inputs.forEach(function(input, handle) { input.addEventListener("change", function() { setSliderHandle(handle, this.value); }); input.addEventListener("keydown", function(e) { var values = keypressSlider.noUiSlider.get(); var value = Number(values[handle]); var steps = keypressSlider.noUiSlider.steps(); var step = steps[handle]; var position; switch (e.which) { case 13: setSliderHandle(handle, this.value); break; case 38: position = step[1]; if (position === false) { position = 1; } if (position !== null) {setSliderHandle(handle, value + position); } break; case 40: position = step[0]; if (position === false) { position = 1; } if (position !== null) { setSliderHandle(handle, value - position); } break; } }); }); });
var $rows = $('.widget-filter-base .card-columns'); $rows.first().append($rows.not(':first').children()) $rows.not(':first').remove();
(function () { "use strict"; function getRoot(el) { // Wir suchen den nächstliegenden äußeren Block, der sowohl Controls als auch Filter enthält return el.closest(".list-controls-inner") || document; } function findFilterToggle(root) { return root.querySelector('a.filter-toggle[href^="#filter-collapse_"]'); } function findFilterCollapse(root, toggle) { if (!toggle) return null; var href = toggle.getAttribute("href"); if (!href) return null; try { return root.querySelector(href); } catch (e) { return null; } } function ensurePlaceholder(root) { var ph = root.querySelector(".zl-controls-placeholder"); if (!ph) { ph = document.createElement("div"); ph.className = "zl-controls-placeholder"; // Placeholder direkt vor dem Filter Toggle, damit die Reihenfolge erhalten bleibt var toggle = findFilterToggle(root); if (toggle && toggle.parentNode) { toggle.parentNode.insertBefore(ph, toggle); } else { root.appendChild(ph); } } return ph; } function ensureMobileWrap(collapse) { var wrap = collapse.querySelector(".zl-mobile-controls"); if (!wrap) { wrap = document.createElement("div"); wrap.className = "zl-mobile-controls"; // Ganz oben in den Collapse Inhalt collapse.insertBefore(wrap, collapse.firstChild); } return wrap; } function moveToMobile(root) { var itemsWidget = root.querySelector(".widget-items-per-page"); var sortingWidget = root.querySelector(".widget-item-sorting"); var toggle = findFilterToggle(root); var collapse = findFilterCollapse(root, toggle); if (!itemsWidget || !sortingWidget || !collapse) return; var placeholder = ensurePlaceholder(root); var wrap = ensureMobileWrap(collapse); // Nur umhängen, wenn nicht bereits dort if (itemsWidget.parentNode !== wrap) wrap.appendChild(itemsWidget); if (sortingWidget.parentNode !== wrap) wrap.appendChild(sortingWidget); // Placeholder merken, damit wir später exakt zurück können itemsWidget.dataset.zlReturn = "1"; sortingWidget.dataset.zlReturn = "1"; placeholder.dataset.zlHasWidgets = "1"; } function moveBackDesktop(root) { var placeholder = root.querySelector(".zl-controls-placeholder"); if (!placeholder) return; var moved = root.querySelectorAll('.widget-items-per-page[data-zl-return="1"], .widget-item-sorting[data-zl-return="1"]'); if (!moved.length) return; // Zurück an den Placeholder moved.forEach(function (node) { placeholder.parentNode.insertBefore(node, placeholder); delete node.dataset.zlReturn; }); } function apply() { var any = document.querySelector(".list-controls-inner"); if (!any) return; // Es kann mehrere Listen geben, wir behandeln alle document.querySelectorAll(".list-controls-inner").forEach(function (inner) { var root = getRoot(inner); if (window.matchMedia("(max-width: 767.98px)").matches) { moveToMobile(root); } else { moveBackDesktop(root); } }); } // initial if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", apply); } else { apply(); } // on resize window.addEventListener("resize", function () { // leicht entprellen clearTimeout(window.__zlResizeTimer); window.__zlResizeTimer = setTimeout(apply, 120); }); // falls Plenty dynamisch nachrendert var mo = new MutationObserver(function () { apply(); }); mo.observe(document.documentElement, { childList: true, subtree: true }); })();
* inkl. ges. MwSt. zzgl. Versandkosten
document.addEventListener("DOMContentLoaded", function () { if (new URLSearchParams(window.location.search).has("page")) { document.body.classList.add("has-page-param"); } });