Shop at Nicepairs for your fantastic wedding pumps, wedding sandals, and other wedding shoe style you like for the important moments of life. Rock the best wedding shoes for guests from Nicepairs to witness your beloved's special moments.Available in Full Size(US|3-15)

Wedding shoes

383 Products
Filter
  • Reset
  • The highest price is 145
    $
    $
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
Filter
  • Price
  • Color
  • Platform
  • Heel Type
  • Season
    Price
  • The highest price is 145
    $
    $
    Color
    Platform
    Heel Type
    Season
Nude Chunky Heels Pointed Toe Buckle Strap Pumps Shoes for Women Nicepairs Nude Chunky Heels Pointed Toe Buckle Strap Pumps Shoes for Women Nicepairs

Nude Chunky Heels Pointed Toe Buckle Strap Pumps Shoes for Women

$120.00
Add to cart
White Pearl Peep Toe Chunky Heel Ankle Strap Pumps for Wedding Nicepairs White Pearl Peep Toe Chunky Heel Ankle Strap Pumps for Wedding Nicepairs

White Pearl Peep Toe Chunky Heel Ankle Strap Pumps for Wedding

$125.00
Add to cart
Elegant Red Vegan Leather Rose Lace-Up Sandals with Stiletto Heels Nicepairs Elegant Red Vegan Leather Rose Lace-Up Sandals with Stiletto Heels Nicepairs

Elegant Red Vegan Leather Rose Lace-Up Sandals with Stiletto Heels

$128.00
Add to cart
Light Pink Heeled Ankle Tie Bridal Shoes with Pearl Flower Decor Nicepairs Light Pink Heeled Ankle Tie Bridal Shoes with Pearl Flower Decor Nicepairs

Light Pink Heeled Ankle Tie Bridal Shoes with Pearl Flower Decor

$112.00
Add to cart
Teal Velvet Braided Strap High Heels Sandals Elegant Evening Shoes Nicepairs Teal Velvet Braided Strap High Heels Sandals Elegant Evening Shoes Nicepairs

Teal Velvet Braided Strap High Heels Sandals Elegant Evening Shoes

$115.00
Add to cart
Ivory Satin Wedding Shoes Ankle Strap Block Heel Platform Sandals Nicepairs Ivory Satin Wedding Shoes Ankle Strap Block Heel Platform Sandals Nicepairs

Ivory Satin Wedding Shoes Ankle Strap Block Heel Platform Sandals

$112.00
Add to cart
Vintage White Patent Leather Double Strap Block Heel Mary Jane Pumps Nicepairs Vintage White Patent Leather Double Strap Block Heel Mary Jane Pumps Nicepairs

Vintage White Patent Leather Double Strap Block Heel Mary Jane Pumps

$115.00
Add to cart
Ivory Low Chunky Heel Wedding Shoes Ankle Strap Floral Pearl Sandals Nicepairs Ivory Low Chunky Heel Wedding Shoes Ankle Strap Floral Pearl Sandals Nicepairs

Ivory Low Chunky Heel Wedding Shoes Ankle Strap Floral Pearl Sandals

$112.00
Add to cart
White Satin Wedding Sandals Square Toe Bow High Heel Mules for Women Nicepairs White Satin Wedding Sandals Square Toe Bow High Heel Mules for Women Nicepairs

White Satin Wedding Sandals Square Toe Bow High Heel Mules for Women

$120.00
Add to cart
Silver Metallic Finish Pointed Toe Slingback Pumps Evening Heels Nicepairs Silver Metallic Finish Pointed Toe Slingback Pumps Evening Heels Nicepairs

Silver Metallic Finish Pointed Toe Slingback Pumps Evening Heels

$100.00
Add to cart
Pink Square Toe Strappy High Heel Sandals Floral Wedding Shoes Nicepairs Pink Square Toe Strappy High Heel Sandals Floral Wedding Shoes Nicepairs

Pink Square Toe Strappy High Heel Sandals Floral Wedding Shoes

$109.00
Add to cart
Women's Ivory Lace Floral Bridal Shoes Ankle Strap Kitten Heel Pumps Nicepairs Women's Ivory Lace Floral Bridal Shoes Ankle Strap Kitten Heel Pumps Nicepairs

Women's Ivory Lace Floral Bridal Shoes Ankle Strap Kitten Heel Pumps

$118.00
Add to cart
Ivory Lace Floral Embroidered Bridal Shoes Lace-Up Block Heel Pumps Nicepairs Ivory Lace Floral Embroidered Bridal Shoes Lace-Up Block Heel Pumps Nicepairs

Ivory Lace Floral Embroidered Bridal Shoes Lace-Up Block Heel Pumps

$112.00
Add to cart
Gold Metallic Chunky Heels Round Toe Ankle Strap Platform Sandals Nicepairs Gold Metallic Chunky Heels Round Toe Ankle Strap Platform Sandals Nicepairs

Gold Metallic Chunky Heels Round Toe Ankle Strap Platform Sandals

$108.00
Add to cart
Brown Pointed Toe Buckle Fastening Strappy Pumps with Chunky Heels Nicepairs Brown Pointed Toe Buckle Fastening Strappy Pumps with Chunky Heels Nicepairs

Brown Pointed Toe Buckle Fastening Strappy Pumps with Chunky Heels

$120.00
Add to cart
White Satin Wedding Sandals Open Toe Ankle Strap Platform Shoes Nicepairs White Satin Wedding Sandals Open Toe Ankle Strap Platform Shoes Nicepairs

White Satin Wedding Sandals Open Toe Ankle Strap Platform Shoes

$115.00
Add to cart
Elegant Pink Satin Open-Toe Bow Double Strap Mule Heels for Women Nicepairs Elegant Pink Satin Open-Toe Bow Double Strap Mule Heels for Women Nicepairs

Elegant Pink Satin Open-Toe Bow Double Strap Mule Heels for Women

$118.00
Add to cart
White & Red Patchwork Pointed Toe Western Inspired Heeled Mules Nicepairs White & Red Patchwork Pointed Toe Western Inspired Heeled Mules Nicepairs

White & Red Patchwork Pointed Toe Western Inspired Heeled Mules

$112.00
Add to cart
Nude Velvet Bridal Shoes Open Toe Cross Strap Block Heel Sandals Nicepairs Nude Velvet Bridal Shoes Open Toe Cross Strap Block Heel Sandals Nicepairs

Nude Velvet Bridal Shoes Open Toe Cross Strap Block Heel Sandals

$105.00
Add to cart
Off-White Satin Bridal Shoes Square Toe Ankle Tie Block Heel Sandals Nicepairs Off-White Satin Bridal Shoes Square Toe Ankle Tie Block Heel Sandals Nicepairs

Off-White Satin Bridal Shoes Square Toe Ankle Tie Block Heel Sandals

$100.00
Add to cart
Green Velvet Chunky Heel Sandals Criss-Cross Strappy Bridal Shoes Nicepairs Green Velvet Chunky Heel Sandals Criss-Cross Strappy Bridal Shoes Nicepairs

Green Velvet Chunky Heel Sandals Criss-Cross Strappy Bridal Shoes

$105.00
Add to cart
White Satin Wedding Heels Pointed Toe Bow Embellished Pumps Nicepairs White Satin Wedding Heels Pointed Toe Bow Embellished Pumps Nicepairs

White Satin Wedding Heels Pointed Toe Bow Embellished Pumps

$100.00
Add to cart
White Satin Ruffle Wedding Shoes Open Toe Ankle Strap Heeled Sandals Nicepairs White Satin Ruffle Wedding Shoes Open Toe Ankle Strap Heeled Sandals Nicepairs

White Satin Ruffle Wedding Shoes Open Toe Ankle Strap Heeled Sandals

$115.00
Add to cart
White Satin Wedding Shoes Ankle Strap Pearl Trim Bow Pointy Toe Pumps Nicepairs White Satin Wedding Shoes Ankle Strap Pearl Trim Bow Pointy Toe Pumps Nicepairs

White Satin Wedding Shoes Ankle Strap Pearl Trim Bow Pointy Toe Pumps

$100.00
Add to cart
White Satin Pearl Bridal Shoes Pointed Toe Mesh Ankle Strap Pumps Nicepairs White Satin Pearl Bridal Shoes Pointed Toe Mesh Ankle Strap Pumps Nicepairs

White Satin Pearl Bridal Shoes Pointed Toe Mesh Ankle Strap Pumps

$112.00
Add to cart
White Lace Round Toe Flared Heel Vintage Mary Jane Pumps for Bridal  Nicepairs White Lace Round Toe Flared Heel Vintage Mary Jane Pumps for Bridal  Nicepairs

White Lace Round Toe Flared Heel Vintage Mary Jane Pumps for Bridal

$108.00
Add to cart
Elegant Ivory Satin Round Toe Bow Inlay Comfy Ballet Flats Nicepairs Elegant Ivory Satin Round Toe Bow Inlay Comfy Ballet Flats Nicepairs

Elegant Ivory Satin Round Toe Bow Inlay Comfy Ballet Flats

$100.00
Add to cart
Silver Vegan Leather Pointed Toe Strappy Slingback Elegant Kitten Heel Pumps Nicepairs Silver Vegan Leather Pointed Toe Strappy Slingback Elegant Kitten Heel Pumps Nicepairs

Silver Vegan Leather Pointed Toe Strappy Slingback Elegant Kitten Heel Pumps

$109.00
Add to cart
Ivory Satin Pearl Embellished Bow Strappy Bridal Block Heeled Pumps Nicepairs Ivory Satin Pearl Embellished Bow Strappy Bridal Block Heeled Pumps Nicepairs

Ivory Satin Pearl Embellished Bow Strappy Bridal Block Heeled Pumps

$112.00
Add to cart
Ivory Satin Pearl Embellished Strappy Bridal Block Heeled Pumps Nicepairs Ivory Satin Pearl Embellished Strappy Bridal Block Heeled Pumps Nicepairs

Ivory Satin Pearl Embellished Strappy Bridal Block Heeled Pumps

$115.00
Add to cart
Ivory Textile Bow Inlay Ankle Strappy Bridal Sandals with Chunky Heels Nicepairs Ivory Textile Bow Inlay Ankle Strappy Bridal Sandals with Chunky Heels Nicepairs

Ivory Textile Bow Inlay Ankle Strappy Bridal Sandals with Chunky Heels

$112.00
Add to cart
White Satin Sophisticated Ankle Strappy Heeled Bridal Sandals  Nicepairs White Satin Sophisticated Ankle Strappy Heeled Bridal Sandals  Nicepairs

White Satin Sophisticated Ankle Strappy Heeled Bridal Sandals

$112.00
Add to cart
Beige Velvet Sophisticated Ankle Strappy Sandals with Chunky Heels Nicepairs Beige Velvet Sophisticated Ankle Strappy Sandals with Chunky Heels Nicepairs

Beige Velvet Sophisticated Ankle Strappy Sandals with Chunky Heels

$112.00
Add to cart
Ivory Textile Toe Pearl Ankle Strappy Bridal Sandals with Chunky Heels Nicepairs Ivory Textile Toe Pearl Ankle Strappy Bridal Sandals with Chunky Heels Nicepairs

Ivory Textile Toe Pearl Ankle Strappy Bridal Sandals with Chunky Heels

$112.00
Add to cart
Red Patent Leather Square Toe Lace-Up Cut-Out Shoes with Chunky Heels Nicepairs Red Patent Leather Square Toe Lace-Up Cut-Out Shoes with Chunky Heels Nicepairs

Red Patent Leather Square Toe Lace-Up Cut-Out Shoes with Chunky Heels

$112.00
Add to cart
Ivory Opened Toe Wide Band Platform Elegant Mules with Block Heels Nicepairs Ivory Opened Toe Wide Band Platform Elegant Mules with Block Heels Nicepairs

Ivory Opened Toe Wide Band Platform Elegant Mules with Block Heels

$118.00
Add to cart
Maroon Patent Leather Pointed Toe Multiple Strappy Formal Pumps    Nicepairs Maroon Patent Leather Pointed Toe Multiple Strappy Formal Pumps    Nicepairs

Maroon Patent Leather Pointed Toe Multiple Strappy Formal Pumps

$109.00
Add to cart
Zebra Printed Faux Suede Pointed Toe Slingback Colorful Pumps    Nicepairs Zebra Printed Faux Suede Pointed Toe Slingback Colorful Pumps    Nicepairs

Zebra Printed Faux Suede Pointed Toe Slingback Colorful Pumps

$109.00
Add to cart
Blue Denim Sophisticated Pointed Toe Slingback Formal Pumps    Nicepairs Blue Denim Sophisticated Pointed Toe Slingback Formal Pumps    Nicepairs

Blue Denim Sophisticated Pointed Toe Slingback Formal Pumps

$109.00
Add to cart
Red Vegan Leather Square Toe Mary Jane Flats with Low Chunky Heels Nicepairs Red Vegan Leather Square Toe Mary Jane Flats with Low Chunky Heels Nicepairs

Red Vegan Leather Square Toe Mary Jane Flats with Low Chunky Heels

$109.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
Brown Vegan Leather Round Toe Maroon Fringe Buckle Formal Shoes     Nicepairs Brown Vegan Leather Round Toe Maroon Fringe Buckle Formal Shoes     Nicepairs

Brown Vegan Leather Round Toe Maroon Fringe Buckle Formal Shoes

$115.00
Add to cart
Navy Vegan Leather Round Toe Fringe Buckle Formal Oxford Shoes     Nicepairs Navy Vegan Leather Round Toe Fringe Buckle Formal Oxford Shoes     Nicepairs

Navy Vegan Leather Round Toe Fringe Buckle Formal Oxford Shoes

$115.00
Add to cart
Brown Vegan Leather Round Toe Cut-Out Formal Oxford Shoes     Nicepairs Brown Vegan Leather Round Toe Cut-Out Formal Oxford Shoes     Nicepairs

Brown Vegan Leather Round Toe Cut-Out Formal Oxford 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
Red Patent Leather Buckle Double Strappy  Platform Wedge Heeled Shoes Nicepairs Red Patent Leather Buckle Double Strappy  Platform Wedge Heeled Shoes Nicepairs

Red Patent Leather Buckle Double Strappy Platform Wedge Heeled Shoes

$115.00
Add to cart
Ivory Patent Leather Square Toe Block Heeled Platform Elegant Pumps Nicepairs Ivory Patent Leather Square Toe Block Heeled Platform Elegant Pumps Nicepairs

Ivory Patent Leather Square Toe Block Heeled Platform Elegant Pumps

$112.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);