Mary Jane Heels: A timeless footwear style, Mary Jane heels are characterized by their distinctive design and charming appeal. These shoes typically feature a low heel or flat sole and a rounded toe. Whether you're looking for classic elegance or a modern twist, Mary Jane heels offer versatility and comfort. Explore a variety of options, including chunky platform soles, to find the perfect pair for any occasion

Mary Jane Heels

128 Products
Filter
  • Reset
  • The highest price is 136
    $
    $
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
Filter
  • Price
  • Color
  • Pattern
  • Platform
  • Heel Type
  • Season
    Price
  • The highest price is 136
    $
    $
    Color
    Pattern
    Platform
    Heel Type
    Season
Women's Vegan Leather Buckle Fastening Strap Light Green Mary Jane Mules  Nicepairs Women's Vegan Leather Buckle Fastening Strap Light Green Mary Jane Mules  Nicepairs

Women's Vegan Leather Buckle Fastening Strap Light Green Mary Jane Mules

$115.00
Add to cart
Brown Vegan Leather Buckled T-Strap Comfy Mary Jane Mules Nicepairs Brown Vegan Leather Buckled T-Strap Comfy Mary Jane Mules Nicepairs

Brown Vegan Leather Buckled T-Strap Comfy Mary Jane Mules

$115.00
Add to cart
Black Vegan Leather Buckle Fastening Strap Comfy Mary Jane Mules  Nicepairs Black Vegan Leather Buckle Fastening Strap Comfy Mary Jane Mules  Nicepairs

Black Vegan Leather Buckle Fastening Strap Comfy Mary Jane Mules

$115.00
Add to cart
Black Vegan Leather Buckle Fastening Strap Comfy Mary Jane Flats  Nicepairs Black Vegan Leather Buckle Fastening Strap Comfy Mary Jane Flats  Nicepairs

Black Vegan Leather Buckle Fastening Strap Comfy Mary Jane Flats

$112.00
Add to cart
Ivory Vegan Leather Buckle Strap Bow Wide Soft Mary Jane Flats  Nicepairs Ivory Vegan Leather Buckle Strap Bow Wide Soft Mary Jane Flats  Nicepairs

Ivory Vegan Leather Buckle Strap Bow Wide Soft Mary Jane Flats

$109.00
Add to cart
Light Green Vegan Leather Buckle Fastening Strap Comfy Mary Jane Flats  Nicepairs Light Green Vegan Leather Buckle Fastening Strap Comfy Mary Jane Flats  Nicepairs

Light Green Vegan Leather Buckle Fastening Strap Comfy Mary Jane Flats

$112.00
Add to cart
Women's Light Blue Leather Bow Inlay Buckle Strap Mary Jane Flats Nicepairs Women's Light Blue Leather Bow Inlay Buckle Strap Mary Jane Flats Nicepairs

Women's Light Blue Leather Bow Inlay Buckle Strap Mary Jane Flats

$109.00
Add to cart
Black Vegan Leather Bow Inlay Buckle Strap Mary Jane Flats Nicepairs Black Vegan Leather Bow Inlay Buckle Strap Mary Jane Flats Nicepairs

Black Vegan Leather Bow Inlay Buckle Strap Mary Jane Flats

$109.00
Add to cart
Maroon Vegan Leather Bow Inlay Buckle Strap Mary Jane Flats Nicepairs Maroon Vegan Leather Bow Inlay Buckle Strap Mary Jane Flats Nicepairs

Maroon Vegan Leather Bow Inlay Buckle Strap Mary Jane Flats

$109.00
Add to cart
Silver Metallic Touch Square Toe Buckle Straps Chunky Heel Mary Jane Shoes Nicepairs Silver Metallic Touch Square Toe Buckle Straps Chunky Heel Mary Jane Shoes Nicepairs

Silver Metallic Touch Square Toe Buckle Straps Chunky Heel Mary Jane Shoes

$115.00
Add to cart
Classic Black Square Toe Studded Buckle Strap Mary Jane Flats Nicepairs Classic Black Square Toe Studded Buckle Strap Mary Jane Flats Nicepairs

Classic Black Square Toe Studded Buckle Strap Mary Jane Flats

$109.00
Add to cart
Beige Mesh Square Toe Buckle Strap Mary Jane Flats for Women Nicepairs Beige Mesh Square Toe Buckle Strap Mary Jane Flats for Women Nicepairs

Beige Mesh Square Toe Buckle Strap Mary Jane Flats for Women

$109.00
Add to cart
Red Elegant Women's Vegan Leather Square Toe Strappy Flat Mary Janes   Nicepairs Red Elegant Women's Vegan Leather Square Toe Strappy Flat Mary Janes   Nicepairs

Red Elegant Women's Vegan Leather Square Toe Strappy Flat Mary Janes

$109.00
Add to cart
Pink Vegan Leather Square Toe Strappy Classic Mary Janes   Nicepairs Pink Vegan Leather Square Toe Strappy Classic Mary Janes   Nicepairs

Pink Vegan Leather Square Toe Strappy Classic Mary Janes

$109.00
Add to cart
Patent Leather Square Toe Buckle Strappy Flat Mary Janes in Brown   Nicepairs Patent Leather Square Toe Buckle Strappy Flat Mary Janes in Brown   Nicepairs

Patent Leather Square Toe Buckle Strappy Flat Mary Janes in Brown

$109.00
Add to cart
Black Mesh Square Toe Buckle Fastening Strappy Flat Mary Janes   Nicepairs Black Mesh Square Toe Buckle Fastening Strappy Flat Mary Janes   Nicepairs

Black Mesh Square Toe Buckle Fastening Strappy Flat Mary Janes

$109.00
Add to cart
Black Satin Round Toe Red Rose Strappy Flat Mary Janes for Women  Nicepairs Black Satin Round Toe Red Rose Strappy Flat Mary Janes for Women  Nicepairs

Black Satin Round Toe Red Rose Strappy Flat Mary Janes for Women

$109.00
Add to cart
Red Vegan Leather Square Toe Buckle Fastening Strappy Mary Jane Flats Nicepairs Red Vegan Leather Square Toe Buckle Fastening Strappy Mary Jane Flats Nicepairs

Red Vegan Leather Square Toe Buckle Fastening Strappy Mary Jane Flats

$109.00
Add to cart
Red Vegan Leather Square Toe Buckle Fastening Strappy Mary Jane Flats Nicepairs Red Vegan Leather Square Toe Buckle Fastening Strappy Mary Jane Flats Nicepairs

Red Vegan Leather Square Toe Buckle Fastening Strappy Mary Jane Flats

$108.00
Add to cart
Red Vegan Leather Square Toe Mary Jane Flats with Buckle Strap Nicepairs Red Vegan Leather Square Toe Mary Jane Flats with Buckle Strap Nicepairs

Red Vegan Leather Square Toe Mary Jane Flats with Buckle Strap

$109.00
Add to cart
Black Patent Leather Square Toe Buckle Strap Mary Jane Flats Nicepairs Black Patent Leather Square Toe Buckle Strap Mary Jane Flats Nicepairs

Black Patent Leather Square Toe Buckle Strap Mary Jane Flats

$109.00
Add to cart
Black Mesh Round Toe Beads & Sequins Embellished Mary Jane Flats Nicepairs Black Mesh Round Toe Beads & Sequins Embellished Mary Jane Flats Nicepairs

Black Mesh Round Toe Beads & Sequins Embellished Mary Jane Flats

$116.00
Add to cart
White Mesh Round Toe Buckled Strappy Pearl Embellished Mary Jane Flats Nicepairs White Mesh Round Toe Buckled Strappy Pearl Embellished Mary Jane Flats Nicepairs

White Mesh Round Toe Buckled Strappy Pearl Embellished Mary Jane Flats

$109.00
Add to cart
Black Vegan Leather Buckle Fastening Strappy Platform Mary Jane Shoes Nicepairs Black Vegan Leather Buckle Fastening Strappy Platform Mary Jane Shoes Nicepairs

Black Vegan Leather Buckle Fastening Strappy Platform Mary Jane Shoes

$115.00
Add to cart
Black Vegan Leather Heart Buckle Strappy Platform Heeled Mary Jane Shoes Nicepairs Black Vegan Leather Heart Buckle Strappy Platform Heeled Mary Jane Shoes Nicepairs

Black Vegan Leather Heart Buckle Strappy Platform Heeled Mary Jane Shoes

$115.00
Add to cart
Pink Patent Leather Heart Buckle Strappy Platform Heeled Mary Jane Shoes Nicepairs Pink Patent Leather Heart Buckle Strappy Platform Heeled Mary Jane Shoes Nicepairs

Pink Patent Leather Heart Buckle Strappy Platform Heeled Mary Jane Shoes

$115.00
Add to cart
White Vegan Leather Buckle Double Strappy Platform Wedge Heeled Mary Jane Shoes Nicepairs White Vegan Leather Buckle Double Strappy Platform Wedge Heeled Mary Jane Shoes Nicepairs

White Vegan Leather Buckle Double Strappy Platform Wedge Heeled Mary Jane Shoes

$115.00
Add to cart
Black Faux Suede Round Toe Buckle Strappy Flat Mary Jane Shoes for Women  Nicepairs Black Faux Suede Round Toe Buckle Strappy Flat Mary Jane Shoes for Women  Nicepairs

Black Faux Suede Round Toe Buckle Strappy Flat Mary Jane Shoes for Women

$100.00
Add to cart
Yellow Patent Leather Round Toe Mary Jane Shoes Block Heel Pumps Nicepairs Yellow Patent Leather Round Toe Mary Jane Shoes Block Heel Pumps Nicepairs

Yellow Patent Leather Round Toe Mary Jane Shoes Block Heel Pumps

$100.00
Add to cart
Maroon Vegan Leather Round Toe Buckle Strappy Mary Jane Flats  Nicepairs Maroon Vegan Leather Round Toe Buckle Strappy Mary Jane Flats  Nicepairs

Maroon Vegan Leather Round Toe Buckle Strappy Mary Jane Flats

$109.00
Add to cart
Black Vegan Leather Round Toe Strappy Backless Comfy Mary Jane Shoes Nicepairs Black Vegan Leather Round Toe Strappy Backless Comfy Mary Jane Shoes Nicepairs

Black Vegan Leather Round Toe Strappy Backless Comfy Mary Jane Shoes

$115.00
Add to cart
Black Vegan Leather Heart Cut-Out Lace-Trim Platform Heeled Shoes Nicepairs Black Vegan Leather Heart Cut-Out Lace-Trim Platform Heeled Shoes Nicepairs

Black Vegan Leather Heart Cut-Out Lace-Trim Platform Heeled Shoes

$115.00
Add to cart
Black Vegan Leather Bat Wing buckle fastening Platform Mary Janes      Nicepairs Black Vegan Leather Bat Wing buckle fastening Platform Mary Janes      Nicepairs

Black Vegan Leather Bat Wing buckle fastening Platform Mary Janes

$108.00
Add to cart
Black & Red Patent Leather buckle fastening Platform Mary Janes      Nicepairs Black & Red Patent Leather buckle fastening Platform Mary Janes      Nicepairs

Black & Red Patent Leather buckle fastening Platform Mary Janes

$115.00
Add to cart
Pink Vegan Leather Buckled Heart Rivet Strappy Platform Heeled Shoes  Nicepairs Pink Vegan Leather Buckled Heart Rivet Strappy Platform Heeled Shoes  Nicepairs

Pink Vegan Leather Buckled Heart Rivet Strappy Platform Heeled Shoes

$115.00
Add to cart
Black Vegan Leather Buckled Rivet Strappy Platform Block Heeled Shoes  Nicepairs Black Vegan Leather Buckled Rivet Strappy Platform Block Heeled Shoes  Nicepairs

Black Vegan Leather Buckled Rivet Strappy Platform Block Heeled Shoes

$115.00
Add to cart
Black Patent Leather Pointed Toe Grommet Buckled Mary Jane Flats Nicepairs Black Patent Leather Pointed Toe Grommet Buckled Mary Jane Flats Nicepairs

Black Patent Leather Pointed Toe Grommet Buckled Mary Jane Flats

$108.00
Add to cart
Maroon Square Toe Buckled Strappy Block Heel Mary Jane Pumps Nicepairs Maroon Square Toe Buckled Strappy Block Heel Mary Jane Pumps Nicepairs

Maroon Square Toe Buckled Strappy Block Heel Mary Jane Pumps

$115.00
Add to cart
Pink Metallic Vegan Leather Buckled Strappy Heeled Mary Janes Shoes Nicepairs Pink Metallic Vegan Leather Buckled Strappy Heeled Mary Janes Shoes Nicepairs

Pink Metallic Vegan Leather Buckled Strappy Heeled Mary Janes Shoes

$100.00
Add to cart
Silver Glittery Ankle Strappy Platform Mary Janes with Chunky Heel Nicepairs Silver Glittery Ankle Strappy Platform Mary Janes with Chunky Heel Nicepairs

Silver Glittery Ankle Strappy Platform Mary Janes with Chunky Heel

$115.00
Add to cart
Red Square Toe Satin Ankle Strappy Platform Mary Janes with Chunky Heel Nicepairs Red Square Toe Satin Ankle Strappy Platform Mary Janes with Chunky Heel Nicepairs

Red Square Toe Satin Ankle Strappy Platform Mary Janes with Chunky Heel

$115.00
Add to cart
Mustard Slingback Pumps Square Toe Block Heel Vintage Mary Jane Shoes Nicepairs Mustard Slingback Pumps Square Toe Block Heel Vintage Mary Jane Shoes Nicepairs

Mustard Slingback Pumps Square Toe Block Heel Vintage Mary Jane Shoes

$100.00
Add to cart
Golden Metallic Vegan Leather Buckle Fastening T-Strappy Heeled Mary Janes    Nicepairs Golden Metallic Vegan Leather Buckle Fastening T-Strappy Heeled Mary Janes    Nicepairs

Golden Metallic Vegan Leather Buckle Fastening T-Strappy Heeled Mary Janes

$100.00
Add to cart
Black Vegan Leather Round Toe T-Strappy Mary Janes With Chunky Heels Nicepairs Black Vegan Leather Round Toe T-Strappy Mary Janes With Chunky Heels Nicepairs

Black Vegan Leather Round Toe T-Strappy Mary Janes With Chunky Heels

$115.00
Add to cart
Black Patent Leather Square Toe Red Buckled Strappy Block Heeled Mary Janes Foe Women   Nicepairs Black Patent Leather Square Toe Red Buckled Strappy Block Heeled Mary Janes Foe Women   Nicepairs

Black Patent Leather Square Toe Red Buckled Strappy Block Heeled Mary Janes Foe Women

$108.00
Add to cart
Black Vegan Leather Platform Mary Janes With Buckle Fastening strappy design Nicepairs Black Vegan Leather Platform Mary Janes With Buckle Fastening strappy design Nicepairs

Black Vegan Leather Platform Mary Janes With Buckle Fastening strappy design

$100.00
Add to cart
Purple Vegan Leather Platform Mary Janes With Buckle Fastening strappy design Nicepairs Purple Vegan Leather Platform Mary Janes With Buckle Fastening strappy design Nicepairs

Purple Vegan Leather Platform Mary Janes With Buckle Fastening strappy design

$100.00
Add to cart
Blue Stiped Textile Sophisticated Square Toe Mary Jane Flats Slip-On Convenience Nicepairs Blue Stiped Textile Sophisticated Square Toe Mary Jane Flats Slip-On Convenience Nicepairs

Blue Stiped Textile Sophisticated Square Toe Mary Jane Flats Slip-On Convenience

$100.00
Add to cart
Sorry, there are no products in this collection.
class SpzSmartBlockComponent extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.container_ = null; this.i18n_ = {}; this.config_ = {}; this.show_type_ = 3; this.product_resource_id_ = ''; this.collection_resource_id_ = ''; this.cart_items_ = []; this.customer_id_ = ''; this.order_id_ = ''; } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { const template_type = window.SHOPLAZZA.meta.page.template_type; if (template_type === 1) { this.show_type_ = 3; this.product_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 2) { this.show_type_ = 4; this.collection_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 15){ this.show_type_ = 5; } else if (template_type === 13){ this.show_type_ = 6; } else if (template_type === 20){ this.show_type_ = 7; this.customer_id_ = window.SHOPLAZZA.customer.customer_id; } else if (template_type === 35){ this.show_type_ = 8; this.order_id_ = window.location.pathname.split('/').pop(); } this.templates_ = SPZServices.templatesForDoc(this.element); this.setAction_(); } mountCallback() { console.log('smart mounted'); const that = this; const themeName = window.SHOPLAZZA.theme.merchant_theme_name; const isGeek = /Geek/.test(themeName); this.fetchRules().then((res) => { if (res && res.rules && res.rules.length) { const blockEl = document.getElementById('smart_recommend_block'); SPZ.whenApiDefined(blockEl).then((api) => { api.render({data: res}, true).then(() => { if (isGeek && that.show_type_ === 6) { blockEl.querySelector('.plugin_container_wrpper').style.padding = '30px 0'; } const recommendStyle = document.createElement('style'); recommendStyle.innerHTML = ` .plugin__recommend_container,.app-recommend-card { display: none !important; } `; document.head.appendChild(recommendStyle); const fetchList = []; res.rules.forEach((rule) => { fetchList.push(this.fetchRuleProductList(rule.id)); }); const fetchAll = Promise.all(fetchList); fetchAll.then((p_res) => { res.rules.forEach((rule, index) => { rule.products = p_res[index] && p_res[index].products; const ruleEl = document.getElementById('smart_recommend_rule_' + rule.id); SPZ.whenApiDefined(ruleEl).then((api) => { api.render({data: rule}, true).then(() => { that.impressListen(`#smart_recommend_rule_ul_${rule.id}`, function(){ that.trackRuleImpress(rule); }); const btnElList = document.querySelectorAll(`#smart_recommend_rule_ul_${rule.id} button`); btnElList.forEach((btnEl) => { if (btnEl && rule.config && rule.config.quick_shop_button_bg_color && rule.config.quick_shop_button_text_color) { btnEl.style.backgroundColor = rule.config.quick_shop_button_bg_color; btnEl.style.color = rule.config.quick_shop_button_text_color; } }) }); }); }); }); }) }) } else { if (window.top !== window.self) { const template_type = window.SHOPLAZZA.meta.page.template_type; const holderEl = document.getElementById('smart_recommend_preview_no_data_placeholder'); SPZ.whenApiDefined(holderEl).then((api) => { api.render({data: { isCart: template_type === 13, isCollection: template_type === 2, isProduct: template_type === 1, isIndex: template_type === 15 }}, true); }); } } }); } setAction_() { this.registerAction('quickShop', (data) => { const that = this; const product_id = data.args.product_id; const productIndex = data.args.productIndex; const rule_id = data.args.rule_id; const ssp = data.args.ssp; const scm = data.args.scm; const cfb = data.args.cfb; const ifb = data.args.ifb; const modalRender = document.getElementById('smart_recommend_product_modal_render'); if (product_id) { this.fetchProductData(product_id).then((res) => { const product = res.products && res.products.length && res.products[0] || {}; product.cfb = cfb; product.ifb = ifb; SPZ.whenApiDefined(modalRender).then((api) => { api.render({product: product, productIndex: productIndex, rule_id: rule_id, ssp: ssp, scm: scm, show_type: that.show_type_}, true).then(() => { const modalEl = document.getElementById('smart_recommend_product_modal'); SPZ.whenApiDefined(modalEl).then((modal) => { that.impressListen('#smart_recommend_product_modal', function(){ that.trackQuickShop({ rule_id: rule_id, product_id: product_id }); }); modal.open(); }); const formEl = document.getElementById('smart_recommend_product_form'); SPZ.whenApiDefined(formEl).then((form) => { form.setProduct(product); }); const variantEl = document.getElementById('smart_recommend_product_variants'); SPZ.whenApiDefined(variantEl).then((variant) => { variant.handleRender(product); }); }); }) }); } }); this.registerAction('handleScroll', (data) => { this.directTo(data.args.rule_id, data.args.direction); }); this.registerAction('handleProductChange', (data) => { const variant = data.args.data.variant; const product = data.args.data.product; const imageRenderEl = document.getElementById('smart_recommend_product_image'); SPZ.whenApiDefined(imageRenderEl).then((api) => { api.render({ variant: variant, product: product }, true); }); }); this.registerAction('handleAtcSuccess', (detail) => { const data = detail.args; data.data.product = data.data.product || {}; data.data.variant = data.data.variant || {}; const product_id = data.data.product.id; const product_title = data.data.product.title; const variant_id = data.data.variant.id; const price = data.data.variant.price; const rule_id = data.rule_id; const aid = `smart_recommend.${this.show_type_}.${rule_id}`; const ifb = data.data.product.ifb; const cfb = data.data.product.cfb; const ssp = data.ssp; const scm = data.scm; const spm = `smart_recommend_${this.show_type_}.${data.spmIndex}`; const params = { id: product_id, product_id: product_id, number: 1, name: product_title, variant_id: variant_id, childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid: aid, ifb: ifb, cfb: cfb, scm: scm, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, ssp: ssp, } }; this.tranckAddToCart(params); }); this.registerAction('addATCHook', (data) => { const params = data.args; const spm = `smart_recommend_${this.show_type_}.${params.spmIndex}`; this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({ event: 'dj.addToCart', params: { aid: `smart_recommend.${this.show_type_}.` + params.rule_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, }, once: true }); }); } tranckAddToCart(detail) { if (window.$) { window.$(document.body).trigger('dj.addToCart', detail); } } fetchRules() { const payload = { show_type: this.show_type_, }; let that = this; if (this.show_type_ === 6) { let line_items = []; return this.fetchCart().then((res) => { if (res && res.cart && res.cart.line_items) { line_items = res.cart.line_items.map((item) => { return { product_id: item.product_id, variant_id: item.variant_id, quantity: item.quantity, price: item.price } }); } payload.line_items = line_items; that.cart_items_ = line_items; return that.fetchRulesRequest(payload); }); } else { if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return this.fetchRulesRequest(payload); } } fetchRulesRequest(payload) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_query", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }); } fetchCart() { return fetch(`/api/cart/cart-select?r=${Math.random().toString(36).slice(-4)}`) .then((res) => { if (res.ok) { return res.json(); } }); } fetchRuleProductList(rule_id) { const payload = { page: 1, limit: 100, fields: ["title", "url", "image", "min_price_variant.price", "min_price_variant.compare_at_price"], rule_id: rule_id, }; if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 6) { payload.line_items = this.cart_items_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); }); } fetchProductData(product_id) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ product_ids: [product_id], fields: [ "images", "options", "min_price_variant", "variants"] }) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); const loadingEl = document.getElementById('smart_recommend_loading'); if (loadingEl) { loadingEl.style.display = 'none'; } }); } getStyle(ele, style) { if (!ele) return; if (window.getComputedStyle) { return window.getComputedStyle(ele)[style]; } return ele.currentStyle[style]; } directTo(id, direction) { const scrollElement = document.getElementById(`smart_recommend_rule_ul_${id}`); const blockWidth = parseInt(this.getStyle(scrollElement, 'width')); const scrollLength = (blockWidth * 0.19 - 12) * 5; const scrollPoint = scrollElement.scrollWidth - scrollElement.clientWidth; if (!scrollElement) return; if (direction === 'left') { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft - scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: Math.max(scrollElement.scrollLeft - scrollLength, 0), behavior: 'smooth' }); } else { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint + 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: scrollElement.scrollLeft >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); } } trackRuleImpress(rule) { if (window.sa && window.sa.track) { window.sa.track("plugin_common", { plugin_name: "upsell", event_type: "impressions", rule_id: rule.id, ssp: rule.ssp, scm: rule.scm, show_type: this.show_type_, support_app_block: window.SHOPLAZZA.theme.support_app_block }); window.sa.track("module_impressions", { aid: `smart_recommend.${this.show_type_}.${rule.id}`, support_app_block: window.SHOPLAZZA.theme.support_app_block }); } } trackQuickShop(data) { window.sa && sa.track && sa.track("plugin_common", { plugin_name: "upsell", event_type: "quick_shop", rule_id: data.rule_id, product_id: data.product_id, show_type: this.show_type_, }); } impressListen(selector, cb) { const el = document.querySelector(selector); const onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el && !el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart-block', SpzSmartBlockComponent);