Steel de show met deze prachtige meisjesjurk!
Specificaties
SIGN UP TO STAY UP-TO-DATE
Altijd als eerste op de hoogte zijn van de nieuwe collectie? Of misschien wel van een unieke kortingscode?
Account aanmaken
Door een account aan te maken in deze winkel kunt u het betalingsproces sneller doorlopen, meerdere adressen opslaan, bestellingen bekijken en volgen en meer.
RegistrerenRecent toegevoegd
U heeft geen artikelen in uw winkelwagen
Totaal incl. btw:€0,00
Bestel nog voor
€50,00 en de verzending is gratis
$(document).ready(function () {
$("a.youtube").YouTubePopUp();
// Sticky Add-to-Cart mobiele versie
if ($(window).width() < 768) {
var stickyVisible = false;
var elem = $('.addtocart-sticky');
var observer = new IntersectionObserver(function (entries) {
if (entries[0].isIntersecting === true) {
if (stickyVisible) {
elem.removeClass('mobile-visible');
stickyVisible = false;
}
} else {
if (!stickyVisible) {
elem.addClass('mobile-visible');
stickyVisible = true;
}
}
}, { threshold: [0] });
if (document.querySelector(".addtocart") !== null) {
observer.observe(document.querySelector(".addtocart"));
}
} else {
var stickyVisible = false;
function checkStickyAddToCart() {
if ($('.addtocart-holder').length > 1) {
var distance = $('.addtocart-holder').offset().top;
var elem = $('.addtocart-sticky');
if ($(window).scrollTop() >= distance) {
if (!stickyVisible) {
elem.addClass('visible');
elem.fadeIn(100);
stickyVisible = true;
}
} else {
if (stickyVisible) {
elem.removeClass('visible');
elem.fadeOut(100);
stickyVisible = false;
}
}
setTimeout(checkStickyAddToCart, 50);
}
}
checkStickyAddToCart();
}
if ($(window).width() > 767 && theme.settings.product_mouseover_zoom) {
$('.zoom').zoom({ touch: false });
}
// Swipers voor productafbeeldingen
var swiperProdImage = new Swiper('.swiper-productimage', {
lazy: true,
pagination: { el: '.swiper-pagination-image', clickable: true },
on: {
lazyImageReady: function () {
$('.productpage .swiper-lazy.swiper-lazy-loaded').animate({ opacity: 1 }, 300);
},
}
});
var swiperThumbs = new Swiper('.swiper-productthumbs', {
direction: 'vertical',
navigation: {
nextEl: '.thumb-arrow-bottom',
prevEl: '.thumb-arrow-top',
},
spaceBetween: 10,
slidesPerView: 5
});
$('.swiper-productthumbs img').on('click', function () {
var itemIndex = $(this).parent().index();
$('.swiper-productthumbs .swiper-slide').removeClass('active');
$(this).parent().addClass('active');
swiperProdImage.slideTo(itemIndex);
swiperProdImage.update(true);
});
// Swiper voor kleurafbeeldingen
var swiperColorImage = new Swiper('.swiper-colorimage', {
slidesPerView: 5,
spaceBetween: 10,
navigation: {
nextEl: '.swiper-color-next',
prevEl: '.swiper-color-prev',
},
pagination: { el: '.swiper-pagination-color', clickable: true },
breakpoints: {
640: { slidesPerView: 2 },
768: { slidesPerView: 4 },
1024: { slidesPerView: 5 }
}
});
$('.swiper-colorimage img').on('click', function () {
var itemIndex = $(this).parent().index();
$('.swiper-colorimage .swiper-slide').removeClass('active');
$(this).parent().addClass('active');
swiperColorImage.slideTo(itemIndex);
swiperColorImage.update(true);
});
});
// === Variantwissel + voorraadupdate ===
document.addEventListener('DOMContentLoaded', function () {
const form = document.querySelector('.productform');
if (!form) return;
function updateVariantStock(variantId) {
if (!window.productJSON || !window.productJSON.variants) return;
const variantData = window.productJSON.variants.find(v => v.id == variantId);
if (!variantData) return;
const stockElement = document.querySelector('.product-stock-status');
if (stockElement) {
if (variantData.stock > 0) {
stockElement.textContent = `Op voorraad: ${variantData.stock} stuks`;
stockElement.classList.remove('out-of-stock');
} else {
stockElement.textContent = `Uitverkocht`;
stockElement.classList.add('out-of-stock');
}
}
const addBtn = document.querySelector('.add-to-cart, .addtocart');
if (addBtn) {
if (variantData.stock > 0) {
addBtn.disabled = false;
addBtn.textContent = "In winkelmand";
} else {
addBtn.disabled = true;
addBtn.textContent = "Niet op voorraad";
}
}
}
const variantLinks = document.querySelectorAll('.variant-block');
variantLinks.forEach(function (link) {
link.addEventListener('click', function (e) {
const isOutOfStock = this.classList.contains('out-of-stock');
const href = this.getAttribute('href');
if (!href) return;
const url = new URL(href, window.location.origin);
const variantId = url.searchParams.get('id');
if (!variantId) return;
if (isOutOfStock) {
window.location.href = `${window.location.pathname}?id=${variantId}`;
return;
}
e.preventDefault();
if (window.Theme?.Product?.switchVariant) {
Theme.Product.switchVariant(variantId);
history.replaceState(null, '', `${window.location.pathname}?variant=${variantId}`);
}
const hiddenInput = form.querySelector('input[type="hidden"][name="product-variant"]');
if (hiddenInput) hiddenInput.value = variantId;
updateVariantStock(variantId);
});
});
form.addEventListener('submit', function (e) {
const selected = form.querySelector('input[name="product-variant"]:checked') ||
form.querySelector('input[type="hidden"][name="product-variant"]');
if (!selected || !selected.value) {
e.preventDefault();
alert("Kies een maat voordat je verdergaat.");
}
});
});
// === Maattabel modal ===
document.addEventListener("DOMContentLoaded", function () {
const modal = document.querySelector("#maattabel-modal");
const closeBtn = modal?.querySelector(".close-modal");
if (modal && closeBtn) {
closeBtn.addEventListener("click", function () {
modal.style.display = "none";
document.body.style.overflow = "auto";
});
window.addEventListener("click", function (e) {
if (e.target === modal) {
modal.style.display = "none";
document.body.style.overflow = "auto";
}
});
}
});
// === Fancybox uitschakelen ===
$(document).ready(function () {
if ($.fancybox) {
$(document).off('click.fb-start');
$.fancybox.open = function () {
console.log('Fancybox is uitgeschakeld');
};
}
});
// === Drawer fix (cart/wishlist/account) ===
$(document).ready(function () {
$('.js-toggle-cart, .js-toggle-wishlist, .js-toggle-account').on('click', function (e) {
e.preventDefault();
e.stopImmediatePropagation();
const drawerTarget = $(this).data('drawer-target');
if (drawerTarget && typeof Nova !== 'undefined' && Nova.Drawer) {
Nova.Drawer.open(drawerTarget);
}
});
});