Nicepairs' Heels: Nicepairs offers a stylish collection of heels that combine fashion-forward designs with comfort. From classic pumps to trendy slingbacks, Nicepairs' footwear is crafted with attention to detail. Whether you're looking for kitten heels, pointed toes, or unique colors, Nicepairs has options to suit your style.

Heels

2618 Products
Filter
  • Reset
  • The highest price is 179
    $
    $
  • 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 179
    $
    $
    Color
    Pattern
    Platform
    Heel Type
    Season
Black Genuine Leather Pointed Toe Kitten Heel Slingback Pumps Nicepairs Black Genuine Leather Pointed Toe Kitten Heel Slingback Pumps Nicepairs

Black Genuine Leather Pointed Toe Kitten Heel Slingback Pumps

$125.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
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 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
Leather Pointed Toe 4'' Stiletto Heel Slingback Pumps Nicepairs Leather Pointed Toe 4'' Stiletto Heel Slingback Pumps Nicepairs

Leather Pointed Toe 4'' Stiletto Heel Slingback Pumps

$120.00
Add to cart
Red Pointed Toe Kitten Heels Slingback Pumps with Buckled Straps Nicepairs Red Pointed Toe Kitten Heels Slingback Pumps with Buckled Straps Nicepairs

Red Pointed Toe Kitten Heels Slingback Pumps with Buckled Straps

$105.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 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

$108.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

$112.00
Add to cart
Mustard Velvet Floral Inlay Ankle Strappy Sandals With Kitten Heels Nicepairs Mustard Velvet Floral Inlay Ankle Strappy Sandals With Kitten Heels Nicepairs

Mustard Velvet Floral Inlay Ankle Strappy Sandals With Kitten Heels

$115.00
Add to cart
Red Open-Toe Rose Embellished Strappy Stiletto Heeled Sandals Nicepairs Red Open-Toe Rose Embellished Strappy Stiletto Heeled Sandals Nicepairs

Red Open-Toe Rose Embellished Strappy Stiletto Heeled Sandals

$128.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

$100.00
Add to cart
Red Patent Leather Square Buckle Pointed Toe Slingback Pumps Nicepairs Red Patent Leather Square Buckle Pointed Toe Slingback Pumps Nicepairs

Red Patent Leather Square Buckle Pointed Toe Slingback Pumps

$108.00
Add to cart
Black & Beige Vintage Shoes Round Toe Lace Up Oxford Heels Nicepairs Black & Beige Vintage Shoes Round Toe Lace Up Oxford Heels Nicepairs

Black & Beige Vintage Shoes Round Toe Lace Up Oxford Heels

$115.00
Add to cart
Silver Square-Toe Strappy Rhinestone Sandals with Decorative Heels Nicepairs Silver Square-Toe Strappy Rhinestone Sandals with Decorative Heels Nicepairs

Silver Square-Toe Strappy Rhinestone Sandals with Decorative Heels

$132.00
Add to cart
Black & White Stiletto Shoes Pointed Toe Pearl Bow Slingback Pumps Nicepairs Black & White Stiletto Shoes Pointed Toe Pearl Bow Slingback Pumps Nicepairs

Black & White Stiletto Shoes Pointed Toe Pearl Bow Slingback Pumps

$108.00
Add to cart
Royal Blue Satin Ankle Strap Heels Open Toe Sequin Platform Sandals Nicepairs Royal Blue Satin Ankle Strap Heels Open Toe Sequin Platform Sandals Nicepairs

Royal Blue Satin Ankle Strap Heels Open Toe Sequin Platform Sandals

$120.00
Add to cart
Black Satin Pointed Toe 4'' Decorative Heel Buckle Strap Pumps Shoes Nicepairs Black Satin Pointed Toe 4'' Decorative Heel Buckle Strap Pumps Shoes Nicepairs

Black Satin Pointed Toe 4'' Decorative Heel Buckle Strap Pumps Shoes

$108.00
Add to cart
Black Studded Heeled Clogs Round Toe Platform Mules Vintage Shoes Nicepairs Black Studded Heeled Clogs Round Toe Platform Mules Vintage Shoes Nicepairs

Black Studded Heeled Clogs Round Toe Platform Mules Vintage Shoes

$116.00
Add to cart
Khaki Patent Leather Square Toe Metal Buckle Slingback Pumps Nicepairs Khaki Patent Leather Square Toe Metal Buckle Slingback Pumps Nicepairs

Khaki Patent Leather Square Toe Metal Buckle Slingback Pumps

$112.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
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
White Satin Rose Inlay Lace-Up Sandals Stiletto Heel Wedding Shoes Nicepairs White Satin Rose Inlay Lace-Up Sandals Stiletto Heel Wedding Shoes Nicepairs

White Satin Rose Inlay Lace-Up Sandals Stiletto Heel Wedding Shoes

$109.00
Add to cart
Black Patent Leather Platform Sandals Pointed Toe Strappy High Heels Nicepairs Black Patent Leather Platform Sandals Pointed Toe Strappy High Heels Nicepairs

Black Patent Leather Platform Sandals Pointed Toe Strappy High Heels

$115.00
Add to cart
Women's Green Open Square-Toe Woven Platform Mules with Chunky Heels Nicepairs Women's Green Open Square-Toe Woven Platform Mules with Chunky Heels Nicepairs

Women's Green Open Square-Toe Woven Platform Mules with Chunky Heels

$118.00
Add to cart
Fuchsia Vegan Leather Heeled Clogs Round Toe Platform Mules Nicepairs Fuchsia Vegan Leather Heeled Clogs Round Toe Platform Mules Nicepairs

Fuchsia Vegan Leather Heeled Clogs Round Toe Platform Mules

$116.00
Add to cart
Multicolor Metallic Fabric Slingback Sandals With Kitten Heel Nicepairs Multicolor Metallic Fabric Slingback Sandals With Kitten Heel Nicepairs

Multicolor Metallic Fabric Slingback Sandals With Kitten Heel

$108.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
Yellow Floral Cute Sandals Open-Toe Strappy Flared Heels for Women Nicepairs Yellow Floral Cute Sandals Open-Toe Strappy Flared Heels for Women Nicepairs

Yellow Floral Cute Sandals Open-Toe Strappy Flared Heels for Women

$108.00
Add to cart
White Square Toe Satin Ruched Block Heel Mules Sandals for Wedding Nicepairs White Square Toe Satin Ruched Block Heel Mules Sandals for Wedding Nicepairs

White Square Toe Satin Ruched Block Heel Mules Sandals for Wedding

$108.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
Olive Patent Leather Slingback Shoes Buckle Strap Block Heel Pumps Nicepairs Olive Patent Leather Slingback Shoes Buckle Strap Block Heel Pumps Nicepairs

Olive Patent Leather Slingback Shoes Buckle Strap Block Heel Pumps

$100.00
Add to cart
Classic Beige Open Toe Ankle Strap Summer Block Heel Sandals Nicepairs Classic Beige Open Toe Ankle Strap Summer Block Heel Sandals Nicepairs

Classic Beige Open Toe Ankle Strap Summer Block Heel Sandals

$103.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

$108.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
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
Pink Satin Kitten Heels Elegant Rhinestone Buckle Slingback Pumps Nicepairs Pink Satin Kitten Heels Elegant Rhinestone Buckle Slingback Pumps Nicepairs

Pink Satin Kitten Heels Elegant Rhinestone Buckle Slingback Pumps

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

$120.00
Add to cart
Ivory Pointed Toe Patent Leather Pearl Decorative Heel Bridal Shoes Nicepairs Ivory Pointed Toe Patent Leather Pearl Decorative Heel Bridal Shoes Nicepairs

Ivory Pointed Toe Patent Leather Pearl Decorative Heel Bridal Shoes

$120.00
Add to cart
Navy Velvet Peep Toe Cross Strap Lace Up Sandals with Block Heels Nicepairs Navy Velvet Peep Toe Cross Strap Lace Up Sandals with Block Heels Nicepairs

Navy Velvet Peep Toe Cross Strap Lace Up Sandals with Block Heels

$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
Black Open Toe Low Block Heel Wide Band Buckle Mules Sandals Nicepairs Black Open Toe Low Block Heel Wide Band Buckle Mules Sandals Nicepairs

Black Open Toe Low Block Heel Wide Band Buckle Mules Sandals

$108.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

$105.00
Add to cart
Red Open Toe Bow Rhinestone High Heel Mules Party Stiletto Shoes Nicepairs Red Open Toe Bow Rhinestone High Heel Mules Party Stiletto Shoes Nicepairs

Red Open Toe Bow Rhinestone High Heel Mules Party Stiletto Shoes

$124.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
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

$100.00
Add to cart
Black Patent leather & Faux Suede Pointed Toe Bow Pumps for Women Nicepairs Black Patent leather & Faux Suede Pointed Toe Bow Pumps for Women Nicepairs

Black Patent leather & Faux Suede Pointed Toe Bow Pumps for Women

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