Description
Product Description (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) {
P.now('premium-module-5-comparison-table-scroller').execute(function(init){
if (init) {
return;
}
P.register('premium-module-5-comparison-table-scroller', function(){
return function() {
P.when('jQuery', 'a-popover', 'A', 'ready').execute(function($, popover, A) {
function initCompTable(module) {
/**
* Premium comparison table: popover trigger module
*/
var comparisonName = $(module).data('comparison-name');
(function() {
var $additionalInfo = $('.aplus-v2 .aplus-popover-trigger');
$additionalInfo.each(function(i, trigger) {
return popover.create(trigger, $(trigger).data());
});
$additionalInfo.hover(
function() {
$(this).focus();
}
);
})();
/**
* Premium comparison table: adjust column width module
*/
(function() {
var VISIBLE_COLUMNS = 4.2; /* How many visible columns on load */
var MIN_WIDTH = 230;
var getWidth = function() {
return $(this).outerWidth();
}
/* cache selectors */
var
$container = $('.aplus-v2 .comparison-table #'+comparisonName),
$header = $('.aplus-v2 .comparison-table #'+comparisonName+' td.attribute'),
$slider = $('.aplus-v2 .comparison-table #'+comparisonName+' .table-slider'),
$columns = $('.aplus-v2 .comparison-table #'+comparisonName+' .aplus-data-column'),
$activeColumn = $('.aplus-v2 .comparison-table #'+comparisonName+' .aplus-data-column.active.active-item');
/* Formula for determining desired column width */
var calculatedColumnWidth = Math.floor(
($container.innerWidth() - $header.innerWidth()) / VISIBLE_COLUMNS
);
var childWidths = $activeColumn.map(getWidth).get();
var maxChildWidth = Math.max(MIN_WIDTH, Math.max.apply(Math, childWidths));
var minColumnWidth = $columns.innerWidth();
var calculatedPadding = $header.innerWidth() + maxChildWidth;
/* set the min-width of each column to the calulated width or minWidth */
$columns.css(
'min-width',
Math.max(MIN_WIDTH, (calculatedColumnWidth < minColumnWidth
? calculatedColumnWidth
: minColumnWidth))
);
$activeColumn.css('width', maxChildWidth);
/* AUI RTL script automatically changes this to padding-right under RTL context */
$slider.css('padding-left', calculatedPadding);
/* show the component */
$container.removeClass('loading');
})();
/**
* Premium comparison table: top scroll bar
*/
(function() {
/* cache selectors */
var
$header = $('.aplus-v2 .comparison-table #'+comparisonName+' td.attribute'),
$fixedColumn = $('.aplus-v2 .comparison-table #'+comparisonName+' td.active'),
$scrollWrapperTop = $('.aplus-v2 .comparison-table #'+comparisonName+' .scroll-wrapper-top'),
$scrollWrapperBottom = $('.aplus-v2 .comparison-table #'+comparisonName+' .scroll-wrapper-bottom'),
$scrollWidth = $('.aplus-v2 .comparison-table #'+comparisonName+' .scroll-width'),
$scrollBar = $('.aplus-v2 .comparison-table #'+comparisonName+' .scroll-bar');
/* confirm fixed column exists and can add width to the total width of the scroll bar */
var fixedColumnWidth = $fixedColumn.innerWidth();
if ( fixedColumnWidth === null ) {
fixedColumnWidth = 0;
}
/* set width of scrollBar */
$scrollBar.css('width', $scrollWidth.innerWidth() + fixedColumnWidth + $header.innerWidth());
/* connect scrolls together */
$scrollWrapperTop.scroll(function() {
$scrollWrapperBottom.scrollLeft($scrollWrapperTop.scrollLeft());
});
$scrollWrapperBottom.scroll(function() {
$scrollWrapperTop.scrollLeft($scrollWrapperBottom.scrollLeft());
});
})();
}
$('.aplus-v2 .premium-aplus-module-5 .table-container').each(function(index, module) {
initCompTable(module);
});
});
}
});
});
})); (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) {
P.now('premium-module-12-nav-carousel').execute(function(init) {
if (init) {
return;
}
P.register('premium-module-12-nav-carousel', function(){
return function() {
P.when('A', 'jQuery', 'a-carousel-framework', 'ready').execute(function (A, $, framework) {
function initiateCarousel(module) {
var MODULE_ID = $(module).data('module-id');
/**
* Carousel button element classname
* @const
*/
var GOTO_BTN_CLASS_NAME = "aplus-goto-btn-" + MODULE_ID;
/**
* Carousel button element active classname
* @const
*/
var GOTO_BTN_ACTIVE_CLASS_NAME = "aplus-active";
/**
* AUI name for aui carousel
* @const
*/
var CAROUSEL_NAME = "premium-aplus-12-carousel-" + MODULE_ID;
/**
* Module class name
* @const
*/
var MODULE_CLASS_NAME = ".aplus-v2 .premium-aplus-module-12";
/**
* Carousel text container class name
* @const
*/
var TEXT_CONTAINER_CLASS_NAME = MODULE_CLASS_NAME + " .aplus-carousel-text-container-" + MODULE_ID;
/**
* Carousel text hidden class name
* @const
*/
var TEXT_CONTAINER_HIDDEN = "aplus-hidden";
/**
* Carousel horizontal scroll container class name
* @const
*/
var HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME = MODULE_CLASS_NAME + " .aplus-horizontal-scroll-container-" + MODULE_ID;
function showCarouselText(oldIndex, newIndex) {
var oldClass = TEXT_CONTAINER_CLASS_NAME + "-" + oldIndex;
var newClass= TEXT_CONTAINER_CLASS_NAME + "-" + newIndex;
$(oldClass).addClass(TEXT_CONTAINER_HIDDEN);
$(newClass).removeClass(TEXT_CONTAINER_HIDDEN);
}
function scrollToCarouselButton(scrollLeft) {
if ($(HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME).length) {
$(HORIZONTAL_SCROLL_CONTAINER_CLASS_NAME).animate({scrollLeft}, 200);
}
}
/**
* Creates a CarouselButton class for provided carousel instance
* @param {object} carousel - AUI Carousel instance
* @returns {Class} - CarouselButton Class
*/
function CarouselButtonTemplate(carousel) {
/**
* Button for controlling the active slide
* @constructor
* @param {number} index - slide index
* @param {DOMElement} [elem] - optional DOM element to use as this objects DOM representation
*/
function CarouselButton(index, elem) {
var self = this;
this.index = index;
this.carousel = carousel;
/* create the button element */
this.elem = this.getElem(elem);
this.$elem = $(this.elem); /* store jquery version */
this.elem.addEventListener('click', self.handleClick.bind(self));
/* add this object to the object manager */
CarouselButton.objects.byId[index] = this;
CarouselButton.objects.all.push(this);
}
/**
* Describe behavior for click events on this.elem
* @memberOf CarouselButton
*/
CarouselButton.prototype.handleClick = function(e) {
e.preventDefault();
this.carousel.gotoPage(this.index);
};
/**
* Enter active state
* @memberOf CarouselButton
*/
CarouselButton.prototype.activate = function() {
this.$elem.addClass(GOTO_BTN_ACTIVE_CLASS_NAME);
};
/**
* Enter inactive state
* @memberOf CarouselButton
*/
CarouselButton.prototype.deactivate = function() {
this.$elem.removeClass(GOTO_BTN_ACTIVE_CLASS_NAME);
};
/**
* Returns an existing or creates a new bound element for this object
* @memberOf CarouselButton
* @param {DOMElement} [elem] - optionally provide an existing element in the DOM to use
* @returns {DOMElement} - this objects DOM representation
*/
CarouselButton.prototype.getElem = function(elem) {
if (this.elem) return this.elem;
if (elem) return elem;
var createdElem = document.createElement('span');
createdElem.className = GOTO_BTN_CLASS_NAME;
return createdElem;
};
/** @const Object manager */
CarouselButton.objects = {
byId: {},
all: [],
};
return CarouselButton;
}
framework.onInit(CAROUSEL_NAME, function(carousel) {
/** @const {Class} */
var CarouselButton = CarouselButtonTemplate(carousel);
/* create carousel controls */
var $carouselBtns = $(safeClassSelector(GOTO_BTN_CLASS_NAME));
var btns = $carouselBtns.map(function(i, btnElem) {
return new CarouselButton(i + 1, btnElem);
});
/* activate first one */
CarouselButton.objects.byId[1].activate();
/* Listen to slide changes */
A.on("a:carousel:" + CAROUSEL_NAME + ":change:pageNumber", function (data) {
var newCarouselButton = CarouselButton.objects.byId[data.newValue];
var marginLeft = parseInt(getComputedStyle(newCarouselButton.elem).getPropertyValue('margin-left'));
var positionLeft = newCarouselButton.elem.offsetLeft - marginLeft;
newCarouselButton.activate();
CarouselButton.objects.byId[data.oldValue].deactivate();
scrollToCarouselButton(positionLeft);
showCarouselText(data.oldValue, data.newValue);
});
});
/**
* @returns {string} - css classname prefixed with module selector
*/
function safeClassSelector(className) {
return '.' + MODULE_CLASS_NAME + ' .' + className;
}
}
$('.aplus-v2 .premium-aplus-module-12 .aplus-carousel-container').each(function (index, module) {
initiateCarousel(module);
});
framework.createAll();
framework.initializeAll();
});
}
})
});
})); Enhancing Your Home Style
ChooChoo Farmhouse Console Table with Storage Shelf The farmhouse-style design blends practicality with beauty, adding a cozy atmosphere to your home. If you have a lot of clutter that needs to be stored in your home, this versatile storage cabinet can be placed anywhere in your home. Previous page
Classic X-Design
Trusses on either side provide stability, geometric interest, and an elegant modern feel.
Bottom Open Shelf
The spacious lower shelf is perfect for storage baskets and other miscellaneous items.
Elegant Handle
The handle is both beautiful and practical, making it easy to open and close.
Thickened Top Storage
The thickened triamine board enhances the load-bearing capacity and safely places your items. Next page 1 Classic X-Design 2 Bottom Open Shelf 3 Elegant Handle 4 Thickened Top Storage (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) {
P.when('premium-module-12-nav-carousel').execute(function(init){
init();
});
}));
ChooChoo Farmhouse Console Table
Soft White & Classic Black
Different Product Choice
Console Table Add to Cart
Coffee Bar Cabinet
TV Stand Add to Cart
Entryway Table Add to Cart
Coffee Table Add to Cart
Side Table Add to Cart
End Table Add to Cart Customer Reviews 4.5 out of 5 stars
32 4.6 out of 5 stars
21 4.5 out of 5 stars
19 4.7 out of 5 stars
510 4.6 out of 5 stars
1,128 4.7 out of 5 stars
537 4.4 out of 5 stars
213 Price $139.99 $ 139 . 99 — $149.99 $ 149 . 99 $99.99 $ 99 . 99 $124.99 $ 124 . 99 $64.99 $ 64 . 99 $104.99 $ 104 . 99 Feature with Slatted Bottom Shelf with Glass Door and Shelf with Grooved Door with Slatted Bottom Shelf with Slatted Bottom Shelf with Slatted Bottom Shelf with Slatted Bottom Shelf Size 13.8"D x 35.8"W x 33.5"H 13.8"D x 39.3"W x 31.5"H 15.3"D x 47.3"W x 20"H 11.8"D x 39.4"W x 31.5"H 21.7"D x 39.4"W x 17.7"H 11.8"D x 23.6"W x 23.6"H 15.7"D x 15.7"W x 23.6"H Material MDF & Solid wood MDF & Solid wood MDF & Solid wood MDF & Solid wood MDF & Solid wood MDF MDF Style Farmhouse Farmhouse Farmhouse Farmhouse Farmhouse Farmhouse Farmhouse Brand ChooChoo ChooChoo ChooChoo ChooChoo ChooChoo ChooChoo ChooChoo (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) {
P.when('premium-module-5-comparison-table-scroller', 'ready').execute(function(init){ init() });
})); P.when('A', 'ready').execute(function(A) {
A.on('a:expander:mobileProductDescription_expander_m:toggle:expand', function() {
if (window && window.ue && window.ue.count) {
window.ue.count("productDescriptionPercolateSize:desktop:m:open", 1);
}
});
A.on('a:expander:mobileProductDescription_expander_m:toggle:collapse', function() {
if (window && window.ue && window.ue.count) {
window.ue.count("productDescriptionPercolateSize:desktop:m:close", 1);
}
});
});
Payment
We accept PayPal, Google Pay, VISA, Master Card, Amex. Credit card payment can also be made via PayPal.
E-check payment will be held until the payment is cleared. Item can only be shipped out when all payment is cleared.
Please make sure your eBay address is correct before you pay.
All the unpaid case will automatically opened after 4 days because the ebay final value charge of the transaction.
Delivery Details
All orders generally ship within "3 business days" after payment is received.
Business Day(Working time) - Business days are Monday to Friday from 9am to 6pm, so during the weekend or on a US National holiday are considered orders placed on the following business day.
Return
All returns must be pre-approved by eBay messaging system before you ship any item back to us.
We will gladly accept your return within 30 days of the delivery date.
Items must be returned in new unused condition and contain all original materials (if included).
All returned items will be tested before refunds are given.
Shipping costs are non-refundable, unless the item is defective.
Returns should be packed in outer shipping carton to avoid defacing the original box/packing of the product.
Contact US
Please contact us if you have not received our feedback, we will gladly correct this and send it manually.
We would also greatly appreciate if you leave us a positive feedback.
If you feel that we deserve a neutral or negative feedback, please, CONTACT US before leaving any feedback, give us a chance to make things right and leave your impression most positive! On Apr 25, 2024 at 03:40:59 PDT, seller added the following information:
Returns Accepted for this item if it's within 30 Days