Branch: 86 South Main Street, Pine Island
0 $0.00
items in your cartto quote To cart
Ooops no items were found.
Try something else.
Ok
Loading…
Search & Filter
Age Verification

Pliers, Cutters & Wrenches

974 items found
Sort by
$22.95
/ CD
Your pick-up branch is 86 South Main Street, Pine Island
Call for price
Compare
$26.95
/ CD
Your pick-up branch is 86 South Main Street, Pine Island
Call for price
Compare
$26.09
/ CD
Your pick-up branch is 86 South Main Street, Pine Island
Call for price
Compare
$27.69
/ CD
Your pick-up branch is 86 South Main Street, Pine Island
Call for price
Compare
$22.35
/ CD
Your pick-up branch is 86 South Main Street, Pine Island
Call for price
Compare
$52.79
/ CD
Your pick-up branch is 86 South Main Street, Pine Island
Call for price
Compare
$34.85
/ SET
Your pick-up branch is 86 South Main Street, Pine Island
Call for price
Compare
$22.25
/ EA
Your pick-up branch is 86 South Main Street, Pine Island
Call for price
Compare
$33.29
/ EA
Your pick-up branch is 86 South Main Street, Pine Island
Call for price
Compare
$36.79
/ CD 1
Your pick-up branch is 86 South Main Street, Pine Island
Call for price
Compare
$31.85
/ CD 1
Your pick-up branch is 86 South Main Street, Pine Island
Call for price
Compare
$49.39
/ EA
Your pick-up branch is 86 South Main Street, Pine Island
Call for price
Compare
Total 974 products
show per page
SEARCH ×

/** * ⚡ EvoX AJAX Variant Handler – Optimized UX Version * Shows instant loading effect, polls DOM for update, and syncs product data */ (function () { // Pre-variant change hook (instant feedback) document.addEventListener('change', function (e) { if (e.target.matches('.product-option select, .variant-selector select')) { console.log("Variant change triggered – showing loading UI"); const productContainer = document.querySelector('.productView, .product'); if (productContainer) { productContainer.style.opacity = '0.5'; // Visual cue for loading productContainer.style.transition = 'opacity 0.2s ease-in-out'; } } }); // EvoX callback after variant AJAX update window.evoXProductChangeCallback = function () { console.log("EvoX AJAX response received – polling for updated DOM"); const start = Date.now(); const timeoutLimit = 3000; // Fail-safe after 3s const interval = setInterval(() => { const imageEl = document.querySelector('.product-image img, .product-main-image img'); const priceEl = document.querySelector('.product-price .price, .pricing .price, .productView-price .price'); const descEl = document.querySelector('.product-description, .productView-description, .description'); if (imageEl && priceEl && descEl) { console.log("Updated DOM ready"); // Product Image const imageSrc = imageEl.src; console.log("New Image:", imageSrc); // Product Price const price = priceEl.textContent.trim(); console.log("New Price:", price); // Product Description const description = descEl.textContent.trim(); console.log("New Description:", description); // Optional: update mirrored DOM elements here // document.getElementById('myCustomPriceBox').innerText = price; // Restore full UI const productContainer = document.querySelector('.productView, .product'); if (productContainer) { productContainer.style.opacity = '1'; } clearInterval(interval); // Stop polling } if (Date.now() - start > timeoutLimit) { console.warn("Timeout: AJAX content did not load in time"); clearInterval(interval); } }, 50); // Fast polling every 50ms }; })();