😱Limited Stock-Today Only $19.99🎁VEVOR Foldable Z Garage Creeper
😱Limited Stock-Today Only $19.99🎁VEVOR Foldable Z Garage Creeper
😱Limited Stock-Today Only $19.99🎁VEVOR Foldable Z Garage Creeper
😱Limited Stock-Today Only $19.99🎁VEVOR Foldable Z Garage Creeper
😱Limited Stock-Today Only $19.99🎁VEVOR Foldable Z Garage Creeper
😱Limited Stock-Today Only $19.99🎁VEVOR Foldable Z Garage Creeper
😱Limited Stock-Today Only $19.99🎁VEVOR Foldable Z Garage Creeper
😱Limited Stock-Today Only $19.99🎁VEVOR Foldable Z Garage Creeper
😱Limited Stock-Today Only $19.99🎁VEVOR Foldable Z Garage Creeper
😱Limited Stock-Today Only $19.99🎁VEVOR Foldable Z Garage Creeper
😱Limited Stock-Today Only $19.99🎁VEVOR Foldable Z Garage Creeper
😱Limited Stock-Today Only $19.99🎁VEVOR Foldable Z Garage Creeper
😱Limited Stock-Today Only $19.99🎁VEVOR Foldable Z Garage Creeper
😱Limited Stock-Today Only $19.99🎁VEVOR Foldable Z Garage Creeper
😱Limited Stock-Today Only $19.99🎁VEVOR Foldable Z Garage Creeper
😱Limited Stock-Today Only $19.99🎁VEVOR Foldable Z Garage Creeper
😱Limited Stock-Today Only $19.99🎁VEVOR Foldable Z Garage Creeper
😱Limited Stock-Today Only $19.99🎁VEVOR Foldable Z Garage Creeper
😱Limited Stock-Today Only $19.99🎁VEVOR Foldable Z Garage Creeper
😱Limited Stock-Today Only $19.99🎁VEVOR Foldable Z Garage Creeper

😱Limited Stock-Today Only $19.99🎁VEVOR Foldable Z Garage Creeper

Price

$49.99 $19.99
Save $30.00
const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = 'ad3f56df-49fb-4e9b-8e7f-89c0cee3fbda'; this.isRTL = SPZ.win.document.dir === 'rtl'; } static deferredMount() { return false; } buildCallback() { this.action_ = SPZServices.actionServiceForDoc(this.element); this.templates_ = SPZServices.templatesForDoc(this.element); this.xhr_ = SPZServices.xhrFor(this.win); this.setupAction_(); this.viewport_ = this.getViewport(); } mountCallback() { this.init(); // 监听事件 this.bindEvent_(); } async init() { this.handleFitTheme(); const data = await this.getDiscountList(); this.renderApiData_(data); } async getDiscountList() { const productId = 'efb09c09-679a-4ac7-acdf-a91d0406fa11'; const variantId = this.variant_id; const productType = 'default'; const reqBody = { product_id: productId, variant_id: variantId, discount_method: "DM_AUTOMATIC", customer: { customer_id: window.C_SETTINGS.customer.customer_id, email: window.C_SETTINGS.customer.customer_email }, product_type: productType } const url = `/api/storefront/promotion/display_setting/text/list`; const data = await this.xhr_.fetchJson(url, { method: "post", body: reqBody }).then(res => { return res; }).catch(err => { this.setContainerDisabled(false); }) return data; } async renderDiscountList() { this.setContainerDisabled(true); const data = await this.getDiscountList(); this.setContainerDisabled(false); // 重新渲染 抖动问题处理 this.renderApiData_(data); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } async renderApiData_(data) { const parentDiv = document.querySelector('.automatic_discount_container'); const newTplDom = await this.getRenderTemplate(data); if (parentDiv) { parentDiv.innerHTML = ''; parentDiv.appendChild(newTplDom); } else { console.log('automatic_discount_container is null'); } } doRender_(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, renderData) .then((el) => { this.clearDom(); this.element.appendChild(el); }); } async getRenderTemplate(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, { ...renderData, isRTL: this.isRTL }) .then((el) => { this.clearDom(); return el; }); } setContainerDisabled(isDisable) { const automaticDiscountEl = document.querySelector('.automatic_discount_container_outer'); if(isDisable) { automaticDiscountEl.setAttribute('disabled', ''); } else { automaticDiscountEl.removeAttribute('disabled'); } } // 绑定事件 bindEvent_() { window.addEventListener('click', (e) => { let containerNodes = document.querySelectorAll(".automatic-container .panel"); let bool; Array.from(containerNodes).forEach((node) => { if(node.contains(e.target)){ bool = true; } }) // 是否popover面板点击范围 if (bool) { return; } if(e.target.classList.contains('drowdown-icon') || e.target.parentNode.classList.contains('drowdown-icon')){ return; } const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { node.classList.remove('open-dropdown'); }) // 兼容主题 this.toggleProductSticky(true); }) // 监听变体变化 document.addEventListener('dj.variantChange', async(event) => { // 重新渲染 const variant = event.detail.selected; if (variant.product_id == 'efb09c09-679a-4ac7-acdf-a91d0406fa11' && variant.id != this.variant_id) { this.variant_id = variant.id; this.renderDiscountList(); } }); } // 兼容主题 handleFitTheme() { // top 属性影响抖动 let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ productInfoEl.classList.add('force-top-auto'); } } // 兼容 wind/flash /hero 主题 (sticky属性影响 popover 层级展示, 会被其他元素覆盖) toggleProductSticky(isSticky) { let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ if(isSticky) { // 还原该主题原有的sticky属性值 productInfoEl.classList.remove('force-position-static'); return; } productInfoEl.classList.toggle('force-position-static'); } } setupAction_() { this.registerAction('handleDropdown', (invocation) => { const discount_id = invocation.args.discount_id; const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { if(node.getAttribute('id') != `automatic-${discount_id}`) { node.classList.remove('open-dropdown'); } }) const $discount_item = document.querySelector(`#automatic-${discount_id}`); $discount_item && $discount_item.classList.toggle('open-dropdown'); // 兼容主题 this.toggleProductSticky(); }); } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, `${ TAG }.${ name }`, data || {}); this.action_.trigger(this.element, name, event); } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } } SPZ.defineElement(TAG, SpzCustomProductAutomatic);
class SpzCustomDiscountFlashsale extends SPZ.BaseElement { constructor(element) { super(element); this.xhr_ = SPZServices.xhrFor(this.win); this.getFlashSaleApi = "\/api\/storefront\/promotion\/flashsale\/display_setting\/product_setting"; this.timer = null; this.variantId = "ad3f56df-49fb-4e9b-8e7f-89c0cee3fbda"; // 促销活动数据 this.flashsaleData = {} } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.templates_ = SPZServices.templatesForDoc(); this.viewport_ = this.getViewport(); // 挂载bind函数 解决this指向问题 this.render = this.render.bind(this); this.resize = this.resize.bind(this); this.switchVariant = this.switchVariant.bind(this); } mountCallback() { // 获取数据 this.getData(); this.element.onclick = (e) => { const cur = this.win.document.querySelector(".app_discount_flashsale_desc"); if (this.flashsaleData.product_setting.is_redirection && appDiscountUtils.inProductBody(this.element) && e.target !== cur) { this.win.open(`/promotions/discount-default/${this.flashsaleData.discount_info.id}`); } } // 绑定 this.viewport_.onResize(this.resize); // 监听子款式切换,重新渲染 this.win.document.addEventListener('dj.variantChange', this.switchVariant); } unmountCallback() { // 解绑 this.viewport_.removeResize(this.resize); this.win.document.removeEventListener('dj.variantChange', this.switchVariant); // 清除定时器 if (this.timer) { clearTimeout(this.timer); this.timer = null; } } resize() { if (this.timer) { clearTimeout(this.timer) this.timer = null; } this.timer = setTimeout(() => { this.render(); }, 200) } switchVariant(event) { const variant = event.detail.selected; if (variant.product_id == 'efb09c09-679a-4ac7-acdf-a91d0406fa11' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } getData() { const reqBody = { product_id: "efb09c09-679a-4ac7-acdf-a91d0406fa11", product_type: "default", variant_id: this.variantId } this.flashsaleData = {}; this.win.fetch(this.getFlashSaleApi, { method: "POST", body: JSON.stringify(reqBody), headers: { "Content-Type": "application/json" } }).then(async (response) => { if (response.ok) { this.flashsaleData = await response.json(); this.render(); } else { this.clearDom(); } }).catch(err => { this.clearDom(); }); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } render() { this.templates_ .findAndRenderTemplate(this.element, { isMobile: appDiscountUtils.judgeMobile(), isRTL: appDiscountUtils.judgeRTL(), inProductDetail: appDiscountUtils.inProductBody(this.element), flashsaleData: this.flashsaleData, image_domain: this.win.SHOPLAZZA.image_domain, }) .then((el) => { this.clearDom(); this.element.appendChild(el); }) } } SPZ.defineElement('spz-custom-discount-flashsale', SpzCustomDiscountFlashsale);

color

Please select a color

Quantity

Free worldwide shipping
Free returns
Sustainably made
Secure payments

·36'' Mechanics Creeper Stool:This 2-in-1 design effortlessly switches between a creeper and a seat, offering maximum versatility and convenience. The 36-inch / 0.9 m long creeper lets you easily slide under vehicles, providing full back support, especially for taller mechanics. The seat mode is ideal for low-profile tasks, protecting your back and knees.

·Heavy-Duty Stability: With a robust load capacity of up to 300 lbs / 136.1 kg, you can rely on this garage creeper in both seated and lying positions. Crafted from carbon steel with high-frequency welded tubes, it offers superior strength and hardness. The weld joints are corrosion-resistant, and the steel frame ensures no bending or deformation, even in seat mode. Strong stability means no tipping or tilting during use.

·Soft & Cushioned Padding: This mechanics creeper features a large, soft PVC leather surface filled with thick pearl cotton that resists sagging over time. The padded seat and headrest provide a comfortable base, allowing you to easily move and access hard-to-reach areas while performing maintenance tasks.

·Smooth & Flexible Movement: Equipped with six 2.5-inch 360° swivel casters, this mechanic creeper seat ensures effortless movement on all types of surfaces, even uneven ones. The upgraded anti-loosening nuts offer long-lasting stability, while the durable PP wheels resist wear and minimize noise while rolling on garage floors. The carbon steel frame adds exceptional strength and rigidity, reliably supporting heavy weights during use.

·Do More with Ease: With a low ground clearance of just 5.5 inches, this mechanic creeper chair makes it easy to reach tight, low-clearance spaces, ideal for vehicle inspections and repairs. Suitable for garages, repair shops, or even home use, it saves you from the strain of crouching or lying on uncomfortable surfaces.