
Fruit of the Loom Eversoft Fleece Hoodies, Pullover & Full Zip, Moisture Wicking & Breathable, Sizes S-4X
From the manufacturer (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(); }); } }) }); })); Previous page Meet your favorite fleece Crew Sweatshirt Premium Stitching Enhances Durability Rib Collar, Cuffs, and Waistband Super Soft and Comfortable Meet your favorite fleece Hoodie Durable Stitching Front Pocket, Rib Cuff, Hood, and Elevated Draw cord Super Soft and Comfortable Meet your favorite fleece Full Zip Sweatshirt Durable Stitching Front Pocket, Rib Cuff, Hood, Zipper and Draw Cord Super Soft and Comfortabl Next page 1 Crew Sweatshirt 2 Hooded Sweatshirt 3 Full Zip Sweatshirt (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(); }); }));