๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley
๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley

๐Ÿ”ฅ๐Ÿ”ฅ Paste Type Universal Pulley

Price

$19.98 $11.99
Save $7.99

type

Please select a type

amount

Please select a amount

Quantity

Global Provision of Services
Free Shipping Over $59.99
Sustainable Manufacturing
PayPal & Credit Card Payment
No more worrying about heavy furniture moving!

All you need is a universal pulley that can be rotated freely and has a strong load-bearing, which can help you solve all the problems caused by heavy objects!

ย 

Main Features

  • [360-degree Free Rotation]ย Ball-type paste pulley, can slide to any angle, not limited, completely silent when used. Suitable for makeup storage, kitchen, tabletop, bedroom, bathroom, living room, and flower shelf storage.

  • [Good Load-bearing Capacity]ย The roller stand is mainly made of high-quality ABS material, which is firm and wear-resistant, with long service life. It can easily move heavy objects without pressure.

  • [Effective Labor-saving]ย Just paste the universal wheel on the bottom of the box, and the heavy box can be easily moved! Suitable for moving and cleaning, it can be applied to various types and sizes of storage boxes and packing boxes.

  • [Easy To Use]ย All you need to do is attach the seamless adhesive to the pulley and place the pulley on the bottom of the box for 24 hours to use it. Smooth pulley let heavy objects is no longer a worry!

ย 

Using Methods

ย 

Specifications

Type
  • Rubber ball
  • Steel ball
Materials
  • ABS+Rubber
  • ABS+Stainless Steel

Product Size

(L x W x H)

  • 4.5 x 2.8 x 1.4CM

Product weight

  • Rubber ball: 28g(4pcs)
  • Steel ball: 40g(4pcs)
Package Contents
  • Paste Type Universal Pulley ร— 4/8/16/32/64Pcs
Color
  • White

ย 

Note

  • Due to manual measurements, please allow slight measurement deviations.
  • Due to the different display and lighting effects, the actual color of the item may be slightly different from the color displayed in the picture.

WHY CHOOSE US

๐ŸŒŽWorldwide Shipping: Each order includes real-time tracking details and insurance coverage in the unlikely event that a package gets lost or stolen in transit.

๐Ÿ’ฐ Money-Back Guarantee: If you bought it and felt that it is not for you, don't worry. Just shoot us a message, and we will make it right by offering you a replacement or refund. 100% Simple & Risk-Free process.

โœ‰๏ธ 24/7 Customer Support: We have a team of live reps ready to help and answer any questions you have within a 24-hour time frame, 7 days a week.

๐Ÿ”’ Safe & Secure Checkouts: We use state-of-the-art SSL Secure encryption to keep your personal and financial information 100% protected.

OUR GUARANTEE

๐ŸบWe take pride inย our products as we believe they are amazing. However, we understand that buying things online can be daunting, especially for the first time, so we offer a 100% satisfaction guarantee.

๐Ÿ’ŽIf you don't have a positive experience for any reason, we will do whatever it takes to make sure you are 100% satisfied with your purchase.

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('appzebu 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);