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: [139.99, 99.99],
connect: true,
range: {
min: [139.99],
max: [99.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 });
})();
- -10%Glas Magnettafel Quadratisch Tiefschwarz
UVP 114,99 EUR103,49 EUR ** inkl. ges. MwSt. zzgl. Versandkosten
* inkl. ges. MwSt.
zzgl.
Versandkosten
document.addEventListener("DOMContentLoaded", function () {
if (new URLSearchParams(window.location.search).has("page")) {
document.body.classList.add("has-page-param");
}
});