Nicepairs Ankle Strap Heels are ideal footwear. With kinds of colors and styles, you can find the perfect pair to match your outfit.

Ankle Strappy Heels

601 Products
Filter
  • Reset
  • The highest price is 138
    $
    $
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
  • 0 selected
    Reset
Filter
  • Price
  • Color
  • Platform
  • Heel Type
  • Season
    Price
  • The highest price is 138
    $
    $
    Color
    Platform
    Heel Type
    Season
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
Silver Patent Leather Chunky Heel Ankle Strap Mary Janes Shoes Nicepairs Silver Patent Leather Chunky Heel Ankle Strap Mary Janes Shoes Nicepairs

Silver Patent Leather Chunky Heel Ankle Strap Mary Janes Shoes

$101.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
Navy & Nude Pointed Toe Ankle Strap Kitten Heel Pumps Nicepairs Navy & Nude Pointed Toe Ankle Strap Kitten Heel Pumps Nicepairs

Navy & Nude Pointed Toe Ankle Strap Kitten Heel Pumps

$106.00
Add to cart
Black Patent Leather Closed Toe Chunky Heel Platform Ankle Strap Pumps Nicepairs Black Patent Leather Closed Toe Chunky Heel Platform Ankle Strap Pumps Nicepairs

Black Patent Leather Closed Toe Chunky Heel Platform Ankle Strap Pumps

$112.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
Elegant Pointy Toe Stiletto Heels Evening Ankle Strap Zip Gold Pumps Nicepairs Elegant Pointy Toe Stiletto Heels Evening Ankle Strap Zip Gold Pumps Nicepairs

Elegant Pointy Toe Stiletto Heels Evening Ankle Strap Zip Gold Pumps

$103.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
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
Black Patent Leather Pointed Toe Stiletto Heel Ankle Strap Pumps Nicepairs

Black Patent Leather Pointed Toe Stiletto Heel Ankle Strap Pumps

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

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

$125.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
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
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
Multicolor Square Toe Ankle Strap Platform Sandals with Chunky Heel Nicepairs Multicolor Square Toe Ankle Strap Platform Sandals with Chunky Heel Nicepairs

Multicolor Square Toe Ankle Strap Platform Sandals with Chunky Heel

$115.00
Add to cart
Women's Black & Red Ankle strap Heels Peep Toe Platform Sandals Nicepairs Women's Black & Red Ankle strap Heels Peep Toe Platform Sandals Nicepairs

Women's Black & Red Ankle strap Heels Peep Toe Platform Sandals

$120.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 Peep Toe Stiletto High Heel Ankle Strap Sandals with Platform Nicepairs Black Mesh Peep Toe Stiletto High Heel Ankle Strap Sandals with Platform Nicepairs

Black Mesh Peep Toe Stiletto High Heel Ankle Strap Sandals with Platform

$125.00
Add to cart
Black & Hot Pink Satin Open Toe 4'' Stiletto Heel Ankle Strap Sandals Nicepairs Black & Hot Pink Satin Open Toe 4'' Stiletto Heel Ankle Strap Sandals Nicepairs

Black & Hot Pink Satin Open Toe 4'' Stiletto Heel Ankle Strap Sandals

$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
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
Women's Velvet Peep Toe Ankle Strap Block Heel Sandals with Platform Nicepairs Women's Velvet Peep Toe Ankle Strap Block Heel Sandals with Platform Nicepairs

Women's Velvet Peep Toe Ankle Strap Block Heel Sandals with Platform

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

$116.00
Add to cart
Women's Clear Heels Pointed Toe Rhinestone Bow Ankle Strap Pumps Nicepairs Women's Clear Heels Pointed Toe Rhinestone Bow Ankle Strap Pumps Nicepairs

Women's Clear Heels Pointed Toe Rhinestone Bow Ankle Strap Pumps

$129.00
Add to cart
Metallic Silver Square-Toe Ankle Strap Sparkly Heeled Sandals Nicepairs Metallic Silver Square-Toe Ankle Strap Sparkly Heeled Sandals Nicepairs

Metallic Silver Square-Toe Ankle Strap Sparkly Heeled Sandals

$115.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
Red Patent Leather Round Toe Buckled Ankle Strap Pumps with Chunky Heels Nicepairs Red Patent Leather Round Toe Buckled Ankle Strap Pumps with Chunky Heels Nicepairs

Red Patent Leather Round Toe Buckled Ankle Strap Pumps with Chunky Heels

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

$120.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
Green Velvet Closed Pointed Toe Bow Inlay Ankle Strappy Pumps With Chunky Heels Nicepairs Green Velvet Closed Pointed Toe Bow Inlay Ankle Strappy Pumps With Chunky Heels Nicepairs

Green Velvet Closed Pointed Toe Bow Inlay Ankle Strappy Pumps With Chunky Heels

$100.00
Add to cart
Indigo Vegan Suede Kitten Heels Open Toe Floral Inlay Ankle Strap Sandals Nicepairs Indigo Vegan Suede Kitten Heels Open Toe Floral Inlay Ankle Strap Sandals Nicepairs

Indigo Vegan Suede Kitten Heels Open Toe Floral Inlay Ankle Strap Sandals

$115.00
Add to cart
Red Pointed Toe Mules Ankle Strap Kitten Heel Pumps for Women  Nicepairs Red Pointed Toe Mules Ankle Strap Kitten Heel Pumps for Women  Nicepairs

Red Pointed Toe Mules Ankle Strap Kitten Heel Pumps for Women

$100.00
Add to cart
Brown Vegan Leather  Square Toe Ankle Strappy Platform Pumps With Chunky Heels Nicepairs Brown Vegan Leather  Square Toe Ankle Strappy Platform Pumps With Chunky Heels Nicepairs

Brown Vegan Leather Square Toe Ankle Strappy Platform Pumps With Chunky Heels

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

$116.00
Add to cart
Metallic Silver Chunky Heels Pointed Toe Ankle Strap Platform Pumps Nicepairs Metallic Silver Chunky Heels Pointed Toe Ankle Strap Platform Pumps Nicepairs

Metallic Silver Chunky Heels Pointed Toe Ankle Strap Platform Pumps

$112.00
Add to cart
Black Satin Ankle Strap Heels Pointed Toe Rhinestone Bow Pumps Nicepairs Black Satin Ankle Strap Heels Pointed Toe Rhinestone Bow Pumps Nicepairs

Black Satin Ankle Strap Heels Pointed Toe Rhinestone Bow Pumps

$108.00
Add to cart
Maroon Rhinestone Sandals Satin Open Toe Ankle Strap Kitten Heels Nicepairs Maroon Rhinestone Sandals Satin Open Toe Ankle Strap Kitten Heels Nicepairs

Maroon Rhinestone Sandals Satin Open Toe Ankle Strap Kitten Heels

$115.00
Add to cart
Pink Satin Pointed Toe Stiletto Heels Flower Ankle Strap Pumps Nicepairs Pink Satin Pointed Toe Stiletto Heels Flower Ankle Strap Pumps Nicepairs

Pink Satin Pointed Toe Stiletto Heels Flower Ankle Strap Pumps

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