lace up heels

1075 Products
Filter
  • Reset
  • The highest price is 155
    $
    $
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
Filter
  • Price
  • Color
  • Platform
  • Heel Type
  • Season
    Price
  • The highest price is 155
    $
    $
    Color
    Platform
    Heel Type
    Season
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
Elegant White Bridal Shoes Peep Toe T-Strap Heeled Sandals Nicepairs Elegant White Bridal Shoes Peep Toe T-Strap Heeled Sandals Nicepairs

Elegant White Bridal Shoes Peep Toe T-Strap Heeled Sandals

$100.00
Add to cart
Black Round Toe  Gladiator Sandals With Platform Rivet Strappy Chunky Heel Nicepairs Black Round Toe  Gladiator Sandals With Platform Rivet Strappy Chunky Heel Nicepairs

Black Round Toe Gladiator Sandals With Platform Rivet Strappy Chunky Heel

$135.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
Red & Gold Glitter Sparkling Heels Ankle Strap Platform Sandals Nicepairs

Red & Gold Glitter Sparkling Heels Ankle Strap Platform Sandals

$115.00
Add to cart
Purple Faux Suede Kitten Heels Open Toe Ankle Strap Floral Sandals Nicepairs Purple Faux Suede Kitten Heels Open Toe Ankle Strap Floral Sandals Nicepairs

Purple Faux Suede Kitten Heels Open Toe Ankle Strap Floral Sandals

$115.00
Add to cart
Royal Blue Satin Open Toe Sequin Shoes Ankle Strap Heeled Sandals Nicepairs Royal Blue Satin Open Toe Sequin Shoes Ankle Strap Heeled Sandals Nicepairs

Royal Blue Satin Open Toe Sequin Shoes Ankle Strap Heeled Sandals

$115.00
Add to cart
Black Mid Calf Gladiator Heels Open Toe Sexy Stiletto Heel Sandals Nicepairs Black Mid Calf Gladiator Heels Open Toe Sexy Stiletto Heel Sandals Nicepairs

Black Mid Calf Gladiator Heels Open Toe Sexy Stiletto Heel Sandals

$102.00
Add to cart
Gold Metallic Buckle Strap Flats Knee High Gladiator Sandals Nicepairs Gold Metallic Buckle Strap Flats Knee High Gladiator Sandals Nicepairs

Gold Metallic Buckle Strap Flats Knee High Gladiator Sandals

$125.00
Add to cart
Clear PVC Pointed Toe 4'' Stiletto Heel Slingback Pumps with Bow Nicepairs Clear PVC Pointed Toe 4'' Stiletto Heel Slingback Pumps with Bow Nicepairs

Clear PVC Pointed Toe 4'' Stiletto Heel Slingback Pumps with Bow

$117.00
Add to cart
Ivory Satin Ankle Strap Heels Square Toe Pearl Inlay Wedding Shoes Nicepairs Ivory Satin Ankle Strap Heels Square Toe Pearl Inlay Wedding Shoes Nicepairs

Ivory Satin Ankle Strap Heels Square Toe Pearl Inlay Wedding Shoes

$115.00
Add to cart
Turquoise Square Toe Floral Ankle Strap Sandals with Kitten Heels Nicepairs Turquoise Square Toe Floral Ankle Strap Sandals with Kitten Heels Nicepairs

Turquoise Square Toe Floral Ankle Strap Sandals with Kitten Heels

$115.00
Add to cart
Yellow Vegan Suede Open Toe Ankle Strap Sandals with Low Chunky Heels Nicepairs Yellow Vegan Suede Open Toe Ankle Strap Sandals with Low Chunky Heels Nicepairs

Yellow Vegan Suede Open Toe Ankle Strap Sandals with Low Chunky Heels

$115.00
Add to cart
Glitter Red Opened Toe Ankle Strappy Platform Sandals With Chunky Heels Nicepairs

Glitter Red Opened Toe Ankle Strappy Platform Sandals With Chunky Heels

$115.00
Add to cart
White Satin Bridal Shoes Block Heel Ankle Strap Pearl Sandals Nicepairs White Satin Bridal Shoes Block Heel Ankle Strap Pearl Sandals Nicepairs

White Satin Bridal Shoes Block Heel Ankle Strap Pearl Sandals

$115.00
Add to cart
Black Mesh Ankle Strap High Heels Peep Toe Rivet Platform Sandals Nicepairs Black Mesh Ankle Strap High Heels Peep Toe Rivet Platform Sandals Nicepairs

Black Mesh Ankle Strap High Heels Peep Toe Rivet Platform Sandals

$125.00
Add to cart
Gold T-Strap Rhinestone Decor Platform Sandals with Chunky Heel Nicepairs Gold T-Strap Rhinestone Decor Platform Sandals with Chunky Heel Nicepairs

Gold T-Strap Rhinestone Decor Platform Sandals with Chunky Heel

$138.00
Add to cart
Satin Black & Hot Pink Opened Toe Sandals With Stiletto Heels Nicepairs Satin Black & Hot Pink Opened Toe Sandals With Stiletto Heels Nicepairs

Satin Black & Hot Pink Opened Toe Sandals With Stiletto Heels

$115.00
Add to cart
Gold Chain Pointed Toe Chunky High Heel Ankle Strap Sandals for Women  Nicepairs Gold Chain Pointed Toe Chunky High Heel Ankle Strap Sandals for Women  Nicepairs

Gold Chain Pointed Toe Chunky High Heel Ankle Strap Sandals for Women

$115.00
Add to cart
Blue Suede Peep Toe 4'' Chunky High Heel Sandals with Platform Nicepairs Blue Suede Peep Toe 4'' Chunky High Heel Sandals with Platform Nicepairs

Blue Suede Peep Toe 4'' Chunky High Heel Sandals with Platform

$109.00
Add to cart
Gold Pointed Toe Strappy Sandals With Full Rivet Flats Gladiator Sandals Nicepairs Gold Pointed Toe Strappy Sandals With Full Rivet Flats Gladiator Sandals Nicepairs

Gold Pointed Toe Strappy Sandals With Full Rivet Flats Gladiator Sandals

$150.00
Add to cart
Black Polka Dot Open Toe Flared Heel Sandals with Bow-Knot Nicepairs Black Polka Dot Open Toe Flared Heel Sandals with Bow-Knot Nicepairs

Black Polka Dot Open Toe Flared Heel Sandals with Bow-Knot

$109.00
Add to cart
Gold Leather Closed Toe Kitten Heel Sandals with Bow Nicepairs Gold Leather Closed Toe Kitten Heel Sandals with Bow Nicepairs

Gold Leather Closed Toe Kitten Heel Sandals with Bow

$109.00
Add to cart
Red Patent Leather Peep Toe Stiletto Heel Ankle Strap Sandals Nicepairs Red Patent Leather Peep Toe Stiletto Heel Ankle Strap Sandals Nicepairs

Red Patent Leather Peep Toe Stiletto Heel Ankle Strap Sandals

$124.00
Add to cart
Multicolor Rainbow Open Toe Chunky Heel Ankle Strap Sandals for Dating Nicepairs Multicolor Rainbow Open Toe Chunky Heel Ankle Strap Sandals for Dating Nicepairs

Multicolor Rainbow Open Toe Chunky Heel Ankle Strap Sandals for Dating

$135.00
Add to cart
Brown Faux Suede Almond Toe 4'' Chunky Heel Platform Sandals with Buckle Nicepairs Brown Faux Suede Almond Toe 4'' Chunky Heel Platform Sandals with Buckle Nicepairs

Brown Faux Suede Almond Toe 4'' Chunky Heel Platform Sandals with Buckle

$106.00
Add to cart
Women's Beige Open Toe Buckle T-Strap Flat Gladiator Sandals Nicepairs Women's Beige Open Toe Buckle T-Strap Flat Gladiator Sandals Nicepairs

Women's Beige Open Toe Buckle T-Strap Flat Gladiator Sandals

$100.00
Add to cart
Black Satin Square Toe Red Rose Inlay Ankle Strap Heeled Sandals Nicepairs Black Satin Square Toe Red Rose Inlay Ankle Strap Heeled Sandals Nicepairs

Black Satin Square Toe Red Rose Inlay Ankle Strap Heeled Sandals

$115.00
Add to cart
Black Strappy Heels Patent Leather Square Toe Floral Decor Sandals Nicepairs Black Strappy Heels Patent Leather Square Toe Floral Decor Sandals Nicepairs

Black Strappy Heels Patent Leather Square Toe Floral Decor Sandals

$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

$115.00
Add to cart
Silver Sparkling Heeled Metallic Vegan Leather Square Toe Ankle Strappy Sandals Nicepairs Silver Sparkling Heeled Metallic Vegan Leather Square Toe Ankle Strappy Sandals Nicepairs

Silver Sparkling Heeled Metallic Vegan Leather Square Toe Ankle Strappy Sandals

$115.00
Add to cart
Khaki Leopard Print Lace-Up Back Zipped Flat Gladiator Sandals Nicepairs Khaki Leopard Print Lace-Up Back Zipped Flat Gladiator Sandals Nicepairs

Khaki Leopard Print Lace-Up Back Zipped Flat Gladiator Sandals

$115.00
Add to cart
Red Velvet Opened Toe Ankle Tie Wedding Sandals with Chunky Heel Nicepairs Red Velvet Opened Toe Ankle Tie Wedding Sandals with Chunky Heel Nicepairs

Red Velvet Opened Toe Ankle Tie Wedding Sandals with Chunky Heel

$105.00
Add to cart
Elegant Ivory Pearl Flower Bridal Shoes Ankle Strap Platform Sandals Nicepairs Elegant Ivory Pearl Flower Bridal Shoes Ankle Strap Platform Sandals Nicepairs

Elegant Ivory Pearl Flower Bridal Shoes Ankle Strap Platform Sandals

$115.00
Add to cart
Blue Satin Knotted Wedding Shoes Square Toe Ankle Tie Heeled Sandals Nicepairs Blue Satin Knotted Wedding Shoes Square Toe Ankle Tie Heeled Sandals Nicepairs

Blue Satin Knotted Wedding Shoes Square Toe Ankle Tie Heeled Sandals

$115.00
Add to cart
Ivory Satin Wedding Heels Open Toe Ankle Strap Pearl Sandals Nicepairs Ivory Satin Wedding Heels Open Toe Ankle Strap Pearl Sandals Nicepairs

Ivory Satin Wedding Heels Open Toe Ankle Strap Pearl Sandals

$115.00
Add to cart
Nude Velvet Opened Round Toe Criss-Cross Ankle Strappy Sandals With Chunky Heel Nicepairs Nude Velvet Opened Round Toe Criss-Cross Ankle Strappy Sandals With Chunky Heel Nicepairs

Nude Velvet Opened Round Toe Criss-Cross Ankle Strappy Sandals With Chunky Heel

$105.00
Add to cart
White Open Toe Ankle Strap Heeled Sandals Pearl Inlay Bridal Shoes Nicepairs White Open Toe Ankle Strap Heeled Sandals Pearl Inlay Bridal Shoes Nicepairs

White Open Toe Ankle Strap Heeled Sandals Pearl Inlay Bridal Shoes

$112.00
Add to cart
Black & Red Ankle Strap Flower Shoes Square Toe Flat Sandals for Women Nicepairs Black & Red Ankle Strap Flower Shoes Square Toe Flat Sandals for Women Nicepairs

Black & Red Ankle Strap Flower Shoes Square Toe Flat Sandals for Women

$103.00
Add to cart
Black Satin Pointed Toe T-Strappy High Heel Sandals with Rhinestone Nicepairs Black Satin Pointed Toe T-Strappy High Heel Sandals with Rhinestone Nicepairs

Black Satin Pointed Toe T-Strappy High Heel Sandals with Rhinestone

$115.00
Add to cart
White Open Toe Mesh Floral Inlay Lace-Up Sandals with Stiletto Heels Nicepairs White Open Toe Mesh Floral Inlay Lace-Up Sandals with Stiletto Heels Nicepairs

White Open Toe Mesh Floral Inlay Lace-Up Sandals with Stiletto Heels

$115.00
Add to cart
Red & Pink Square Toe Strappy Platform Sandals with Wedge Heels Nicepairs Red & Pink Square Toe Strappy Platform Sandals with Wedge Heels Nicepairs

Red & Pink Square Toe Strappy Platform Sandals with Wedge Heels

$115.00
Add to cart
Red Faux Suede Ankle Strap Heels Open Toe Rhinestone Platform Sandals Nicepairs Red Faux Suede Ankle Strap Heels Open Toe Rhinestone Platform Sandals Nicepairs

Red Faux Suede Ankle Strap Heels Open Toe Rhinestone Platform Sandals

$115.00
Add to cart
Blue Denim Knot Design Ankle Strap Platform Sandals With Chunky Heels Nicepairs Blue Denim Knot Design Ankle Strap Platform Sandals With Chunky Heels Nicepairs

Blue Denim Knot Design Ankle Strap Platform Sandals With Chunky Heels

$105.00
Add to cart
Red & Gold Glitter Ankle Strap Heels Rhinestone Platform Sandals Nicepairs

Red & Gold Glitter Ankle Strap Heels Rhinestone Platform Sandals

$115.00
Add to cart
Nude Open-Toe Strappy Heels Stylish Stilettos Summer Sandals Nicepairs Nude Open-Toe Strappy Heels Stylish Stilettos Summer Sandals Nicepairs

Nude Open-Toe Strappy Heels Stylish Stilettos Summer Sandals

$115.00
Add to cart
White Satin Opened Pointed Toe Ankle Strappy Sandals With Stiletto Heels Nicepairs White Satin Opened Pointed Toe Ankle Strappy Sandals With Stiletto Heels Nicepairs

White Satin Opened Pointed Toe Ankle Strappy Sandals With Stiletto Heels

$115.00
Add to cart
Red Open Toe Ankle Tie Stiletto Heel Sandals with Mesh Bow Nicepairs Red Open Toe Ankle Tie Stiletto Heel Sandals with Mesh Bow Nicepairs

Red Open Toe Ankle Tie Stiletto Heel Sandals with Mesh Bow

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