{"id":685377,"date":"2026-06-01T22:11:45","date_gmt":"2026-06-01T22:11:45","guid":{"rendered":"http:\/\/clairewears.com\/clairespicks\/product\/zeagoo-womens-blazer-cropped-open-front-zipper-dress-jacket-o-neck-casual-office-suit-jacket-white\/"},"modified":"2026-06-06T23:37:35","modified_gmt":"2026-06-06T23:37:35","slug":"zeagoo-womens-blazer-cropped-open-front-zipper-dress-jacket-o-neck-casual-office-suit-jacket-white","status":"publish","type":"product","link":"https:\/\/clairewears.com\/clairespicks\/product\/zeagoo-womens-blazer-cropped-open-front-zipper-dress-jacket-o-neck-casual-office-suit-jacket-white\/","title":{"rendered":"Zeagoo Womens Blazer Cropped Open Front Zipper Dress Jacket O Neck Casual Office Suit Jacket &#8211; White"},"content":{"rendered":"<p>Polyester,Spandex Imported Polyester lining Zipper closure Machine Wash and Hand Wash Our womens blazer is 90% polyester, 10% spandex. The fabric is breathable and soft, you can wear this blazer suit jacket in multiple seasons. Long sleeve, solid color, lightweight, the zipper closure is smooth and easy to put on and take off The blazers for women is equipped with parallel zipper design on both sides, fashionable and simple, Suitable for causal shopping look, business outfit, work office style, leisure time, daily life, holiday and so on. It\u2019s perfect match for skirt, T-shirt, jeans and suit pants (function(f) {var _np=(window.P._namespace(\u201cPremiumAplusModule\u201d));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) {P.now(\u2018premium-module-12-nav-carousel\u2019).execute(function(init) { if (init) { return; } P.register(\u2018premium-module-12-nav-carousel\u2019, function(){ return function() { P.when(\u2018A\u2019, \u2018jQuery\u2019, \u2018a-carousel-framework\u2019, \u2018ready\u2019).execute(function (A, $, framework) { function initiateCarousel(module) { var MODULE_ID = $(module).data(\u2018module-id\u2019); \/** * Carousel button element classname * @const *\/ var GOTO_BTN_CLASS_NAME = \u201caplus-goto-btn-\u201d + MODULE_ID; \/** * Carousel button element active classname * @const *\/ var GOTO_BTN_ACTIVE_CLASS_NAME = \u201caplus-active\u201d; \/** * AUI name for aui carousel * @const *\/ var CAROUSEL_NAME = \u201cpremium-aplus-12-carousel-\u201d + MODULE_ID; \/** * Module class name * @const *\/ var MODULE_CLASS_NAME = \u201c.aplus-v2 .premium-aplus-module-12\u2033; \/** * Carousel text container class name * @const *\/ var TEXT_CONTAINER_CLASS_NAME = MODULE_CLASS_NAME + \u201d .aplus-carousel-text-container-\u201d + MODULE_ID; \/** * Carousel text hidden class name * @const *\/ var TEXT_CONTAINER_HIDDEN = \u201caplus-hidden\u201d; \/** * Carousel horizontal scroll container class name * @const *\/ var HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME = MODULE_CLASS_NAME + \u201d .aplus-horizontal-scroll-container-\u201d + MODULE_ID; function showCarouselText(oldIndex, newIndex) { var oldClass = TEXT_CONTAINER_CLASS_NAME + \u201c-\u201d + oldIndex; var newClass= TEXT_CONTAINER_CLASS_NAME + \u201c-\u201d + newIndex; $(oldClass).addClass(TEXT_CONTAINER_HIDDEN); $(newClass).removeClass(TEXT_CONTAINER_HIDDEN); } function scrollToCarouselButton(scrollLeft) { if ($(HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME).length) { $(HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME).animate({scrollLeft}, 200); } } \/** * Creates a CarouselButton class for provided carousel instance * @param {object} carousel \u2013 AUI Carousel instance * @returns {Class} \u2013 CarouselButton Class *\/ function CarouselButtonTemplate(carousel) { \/** * Button for controlling the active slide * @constructor * @param {number} index \u2013 slide index * @param {DOMElement} [elem] \u2013 optional DOM element to use as this objects DOM representation *\/ function CarouselButton(index, elem) { var self = this; this.index = index; this.carousel = carousel; \/* create the button element *\/ this.elem = this.getElem(elem); this.$elem = $(this.elem); \/* store jquery version *\/ this.elem.addEventListener(\u2018click\u2019, self.handleClick.bind(self)); \/* add this object to the object manager *\/ CarouselButton.objects.byId[index] = this; CarouselButton.objects.all.push(this); } \/** * Describe behavior for click events on this.elem * @memberOf CarouselButton *\/ CarouselButton.prototype.handleClick = function(e) { e.preventDefault(); this.carousel.gotoPage(this.index); }; \/** * Enter active state * @memberOf CarouselButton *\/ CarouselButton.prototype.activate = function() { this.$elem.addClass(GOTO_BTN_ACTIVE_CLASS_NAME); }; \/** * Enter inactive state * @memberOf CarouselButton *\/ CarouselButton.prototype.deactivate = function() { this.$elem.removeClass(GOTO_BTN_ACTIVE_CLASS_NAME); }; \/** * Returns an existing or creates a new bound element for this object * @memberOf CarouselButton * @param {DOMElement} [elem] \u2013 optionally provide an existing element in the DOM to use * @returns {DOMElement} \u2013 this objects DOM representation *\/ CarouselButton.prototype.getElem = function(elem) { if (this.elem) return this.elem; if (elem) return elem; var createdElem = document.createElement(\u2018span\u2019); createdElem.className = GOTO_BTN_CLASS_NAME; return createdElem; }; \/** @const Object manager *\/ CarouselButton.objects = { byId: {}, all: [], }; return CarouselButton; } framework.onInit(CAROUSEL_NAME, function(carousel) { \/** @const {Class} *\/ var CarouselButton = CarouselButtonTemplate(carousel); \/* create carousel controls *\/ var $carouselBtns = $(safeClassSelector(GOTO_BTN_CLASS_NAME)); var btns = $carouselBtns.map(function(i, btnElem) { return new CarouselButton(i + 1, btnElem); }); \/* activate first one *\/ CarouselButton.objects.byId[1].activate(); \/* Listen to slide changes *\/ A.on(\u201ca:carousel:\u201d + CAROUSEL_NAME + \u201c:change:pageNumber\u201d, function (data) { var newCarouselButton = CarouselButton.objects.byId[data.newValue]; var marginLeft = parseInt(getComputedStyle(newCarouselButton.elem).getPropertyValue(\u2018margin-left\u2019)); var positionLeft = newCarouselButton.elem.offsetLeft \u2013<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Polyester,Spandex Imported Polyester lining Zipper closure Machine Wash and Hand Wash Our womens blazer is 90% polyester, 10% spandex. The fabric is breathable and soft, you can wear this blazer&hellip;<\/p>\n","protected":false},"featured_media":685378,"comment_status":"open","ping_status":"closed","template":"","meta":[],"product_brand":[3908],"product_cat":[7712],"product_tag":[],"class_list":["post-685377","product","type-product","status-publish","has-post-thumbnail","product_brand-zeagoo","product_cat-blazer-27","first","instock","shipping-taxable","product-type-external","layout-style-1","col-md-4 col-sm-4 col-xs-6","col-lg-3","product-style-default"],"_links":{"self":[{"href":"https:\/\/clairewears.com\/clairespicks\/wp-json\/wp\/v2\/product\/685377","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/clairewears.com\/clairespicks\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/clairewears.com\/clairespicks\/wp-json\/wp\/v2\/types\/product"}],"replies":[{"embeddable":true,"href":"https:\/\/clairewears.com\/clairespicks\/wp-json\/wp\/v2\/comments?post=685377"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/clairewears.com\/clairespicks\/wp-json\/wp\/v2\/media\/685378"}],"wp:attachment":[{"href":"https:\/\/clairewears.com\/clairespicks\/wp-json\/wp\/v2\/media?parent=685377"}],"wp:term":[{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/clairewears.com\/clairespicks\/wp-json\/wp\/v2\/product_brand?post=685377"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/clairewears.com\/clairespicks\/wp-json\/wp\/v2\/product_cat?post=685377"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/clairewears.com\/clairespicks\/wp-json\/wp\/v2\/product_tag?post=685377"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}