Read more
This product is sold and fulfilled by an independent third-party seller. This product may have been reviewed against Truly Free’s standards for the limited purpose of assigning marketplace badges.
Any such review is based on information provided by the seller and does not constitute certification, approval, or a guarantee of safety, efficacy, or regulatory compliance.
Truly Free assumes no liability for inaccuracies, omissions, product claims or for any damages or adverse outcomes arising from the use or misuse of this product.
Any Truly Free Trust Badges shown here were reviewed against our published standards and approved based on information submitted by the seller. The seller has sole access to and control over its product listing content and is solely responsible for the accuracy of any additional claims being made.
function logShoppableMetrics(moduleName, showsAddToCart) { if (window.ue && window.ue.count) { window.ue.count('aplus:shoppable:' + moduleName + ':addToCart', showsAddToCart ? 1 : 0); } }
/** * Common event handler for click and keydown events. * @param {Event} event - The event object. * @param {Function} handleClickOrEnter - Function to handle click or Enter key events. * @param {Function} handleEsc - Function to handle Esc key events. */ // [TODO][AplusMantle-8064] Create common event handler util(key events, click events) in AplusModuleResources function handleClickAndKeyEvents(event, handleClickOrEnterOrSpace) { const ENTER_KEY_CODE = 13; const ESCAPE_KEY_CODE = 27; const SPACE_KEY_CODE = 32; const isClick = event.type === 'click'; const isKeydown = event.type === 'keydown'; const isEnter = isKeydown && event.keyCode === ENTER_KEY_CODE; const isSpace = isKeydown && event.keyCode === SPACE_KEY_CODE; const isEsc = isKeydown && event.keyCode === ESCAPE_KEY_CODE; if (isClick || isEnter || isSpace) { handleClickOrEnterOrSpace(); } else if (isEsc) { handleEsc(event); } } /** * Function to handle esc key event. * @param {Event} event - The event object. */ function handleEsc(event) { event.target.blur() // force remove focus } (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(); /* 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); /* show the component */ $container.removeClass('loading'); })(); /** * Premium comparison table: sticky attribute & column */ (function() { /* cache selectors */ const comparisonTable = document.querySelector('.aplus-v2 .comparison-table #'+comparisonName); const header = comparisonTable.querySelector('td.attribute'); const fixedColumn = comparisonTable.querySelector('td.active'); const attributeColumnObserver = new ResizeObserver((entries) => { for (let entry of entries) { const bounds = entry.target.getBoundingClientRect().width; const activeCellWidth = window.getComputedStyle(fixedColumn).left; if (bounds + 'px' !== activeCellWidth) { const activeCells = document.querySelectorAll('.aplus-data-column.active'); activeCells.forEach(cell => cell.style.left = bounds + 'px'); } } }) attributeColumnObserver.observe(header) })(); /** * 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-10-hotspot-desktop').execute(function(init) { if (init) { return; } P.register('premium-module-10-hotspot-desktop', function() { return function() { P.when('jQuery', 'a-popover', 'ready').execute(function ($, popover) { var $hoverPoints = $('.aplus-v2 .premium-aplus-module-10 .hover-point'); $hoverPoints.each(function(i, trigger) { return popover.create(trigger, $(trigger).data()); }); $hoverPoints.hover( function() { $(this).focus(); $(this).addClass('selected'); }, function() { $(this).removeClass('selected'); } ); }); }; });});})); (function(f) {var _np=(window.P._namespace('PremiumAplusModule'));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) {P.now('premium-module-11-faq').execute(function(init) { if (init) { return; } P.register('premium-module-11-faq', function() { return function() { P.when('A', 'jQuery', 'ready').execute(function(A, $){ function initFaq(module) { const MODULE_CLASS_NAME = 'premium-aplus-module-11'; const FAQ_CONTAINER_CLASS_NAME = 'faqs-container'; const FAQ_BLOCK_CLASS_NAME = 'faq-block'; const moduleId = $(module).data('faq-block'); const $faqBlocks = $('.aplus-v2 .' + MODULE_CLASS_NAME + ' .' + FAQ_CONTAINER_CLASS_NAME + '.' + moduleId + ' .' + FAQ_BLOCK_CLASS_NAME); /** * Function to handle click or Enter or Space key events. * @param {Element} element - The this object from which the event is dispatched * @param {faqBlocks} faqBlocks - List of all the Question and Answer blocks. */ function handleClickOrEnterOrSpace(element, faqBlocks) { const $element = $(element); const isActive = $element.hasClass('aplus-active'); faqBlocks.removeClass('aplus-active'); faqBlocks.find('[data-faq-question]').attr('aria-expanded', 'false'); if (!isActive) { $element.addClass('aplus-active'); $element.find('[data-faq-question]').attr('aria-expanded', 'true'); } } /* Using jQuery event namespace for preventing duplicate binding on twister refresh */ $faqBlocks.unbind('click keydown.premiumAplusModule11ClickHandler').bind('click keydown.premiumAplusModule11ClickHandler', function(event) { handleClickAndKeyEvents(event, () => handleClickOrEnterOrSpace(this, $faqBlocks)); }); } $('.aplus-v2 .premium-aplus-module-11 .faqs-container').each(function(index, module) { initFaq(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)); this.elem.setAttribute('role', 'tab'); /* 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).attr('aria-selected', 'true'); }; /** * Enter inactive state * @memberOf CarouselButton */ CarouselButton.prototype.deactivate = function() { this.$elem.removeClass(GOTO_BTN_ACTIVE_CLASS_NAME).attr('aria-selected', 'false'); }; /** * 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(); }); } })});}));

(function(f) {var _np=(window.P._namespace('PremiumAplusModule'));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.when('premium-module-10-hotspot-desktop').execute(function(init) { init(); });}));
Previous page





Next page
1 Healthy Digestion 2 No Artificials 3 High-Quality Protein 4 Kibble Size 5 Veterinarian Recommended
(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(); });}));

(function(f) {var _np=(window.P._namespace('PremiumAplusModule'));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.when('premium-module-11-faq').execute(function(init){ init(); });}));

IAMS Healthy Digestion
Add to Cart
logShoppableMetrics('premium-module-5-comparison-table-scroller', true)
IAMS Immune Health
logShoppableMetrics('premium-module-5-comparison-table-scroller', false)
Buying Options
IAMS Skin & Coat
Add to Cart
logShoppableMetrics('premium-module-5-comparison-table-scroller', true)
IAMS Active
logShoppableMetrics('premium-module-5-comparison-table-scroller', false)
Buying Options
IAMS MINICHUNKS Chicken
Add to Cart
logShoppableMetrics('premium-module-5-comparison-table-scroller', true)
IAMS Lamb & Rice Recipe
Add to Cart
logShoppableMetrics('premium-module-5-comparison-table-scroller', true)
Customer Reviews
4.6 out of 5 stars 2,140
4.6 out of 5 stars 568
4.6 out of 5 stars 1,162
4.5 out of 5 stars 324
4.7 out of 5 stars 31,621
4.7 out of 5 stars 9,319
Price
$29.97$29.97
—
$29.97$29.97
—
$29.97$29.97
$29.97$29.97
Format
Dry Food
Dry Food
Dry Food
Dry Food
Dry Food
Dry Food
Life Stage:
Chicken
Chicken
Chicken and Salmon
Chicken and Turkey
Chicken
Lamb
Dog needs
Supports healthy digestion
Supports immune health
Supports skin and coat
Supports active lifestyle
Supports whole-body health
Supports whole-body health
Life Stage
Adult
Adult
Adult
Adult
Adult
Adult
Available sizes
6 lb, 13.5 lb, 27 lb, 36 lb
6 lb, 13.5 lb, 27 lb, 36 lb
6 lb, 13.5 lb, 27 lb, 36 lb
6 lb, 13.5 lb, 27 lb, 36 lb
7 lb, 15 lb, 30 lb, 38.5 lb
15 lb, 30 lb, 38.5 lb, 40 lb
(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() });}));
function logShoppableMetrics(moduleName, showsAddToCart) { if (window.ue && window.ue.count) { window.ue.count('aplus:shoppable:' + moduleName + ':addToCart', showsAddToCart ? 1 : 0); } }
/** * Common event handler for click and keydown events. * @param {Event} event - The event object. * @param {Function} handleClickOrEnter - Function to handle click or Enter key events. * @param {Function} handleEsc - Function to handle Esc key events. */ // [TODO][AplusMantle-8064] Create common event handler util(key events, click events) in AplusModuleResources function handleClickAndKeyEvents(event, handleClickOrEnterOrSpace) { const ENTER_KEY_CODE = 13; const ESCAPE_KEY_CODE = 27; const SPACE_KEY_CODE = 32; const isClick = event.type === 'click'; const isKeydown = event.type === 'keydown'; const isEnter = isKeydown && event.keyCode === ENTER_KEY_CODE; const isSpace = isKeydown && event.keyCode === SPACE_KEY_CODE; const isEsc = isKeydown && event.keyCode === ESCAPE_KEY_CODE; if (isClick || isEnter || isSpace) { handleClickOrEnterOrSpace(); } else if (isEsc) { handleEsc(event); } } /** * Function to handle esc key event. * @param {Event} event - The event object. */ function handleEsc(event) { event.target.blur() // force remove focus } (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(); /* 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); /* show the component */ $container.removeClass('loading'); })(); /** * Premium comparison table: sticky attribute & column */ (function() { /* cache selectors */ const comparisonTable = document.querySelector('.aplus-v2 .comparison-table #'+comparisonName); const header = comparisonTable.querySelector('td.attribute'); const fixedColumn = comparisonTable.querySelector('td.active'); const attributeColumnObserver = new ResizeObserver((entries) => { for (let entry of entries) { const bounds = entry.target.getBoundingClientRect().width; const activeCellWidth = window.getComputedStyle(fixedColumn).left; if (bounds + 'px' !== activeCellWidth) { const activeCells = document.querySelectorAll('.aplus-data-column.active'); activeCells.forEach(cell => cell.style.left = bounds + 'px'); } } }) attributeColumnObserver.observe(header) })(); /** * 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-10-hotspot-desktop').execute(function(init) { if (init) { return; } P.register('premium-module-10-hotspot-desktop', function() { return function() { P.when('jQuery', 'a-popover', 'ready').execute(function ($, popover) { var $hoverPoints = $('.aplus-v2 .premium-aplus-module-10 .hover-point'); $hoverPoints.each(function(i, trigger) { return popover.create(trigger, $(trigger).data()); }); $hoverPoints.hover( function() { $(this).focus(); $(this).addClass('selected'); }, function() { $(this).removeClass('selected'); } ); }); }; });});})); (function(f) {var _np=(window.P._namespace('PremiumAplusModule'));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) {P.now('premium-module-11-faq').execute(function(init) { if (init) { return; } P.register('premium-module-11-faq', function() { return function() { P.when('A', 'jQuery', 'ready').execute(function(A, $){ function initFaq(module) { const MODULE_CLASS_NAME = 'premium-aplus-module-11'; const FAQ_CONTAINER_CLASS_NAME = 'faqs-container'; const FAQ_BLOCK_CLASS_NAME = 'faq-block'; const moduleId = $(module).data('faq-block'); const $faqBlocks = $('.aplus-v2 .' + MODULE_CLASS_NAME + ' .' + FAQ_CONTAINER_CLASS_NAME + '.' + moduleId + ' .' + FAQ_BLOCK_CLASS_NAME); /** * Function to handle click or Enter or Space key events. * @param {Element} element - The this object from which the event is dispatched * @param {faqBlocks} faqBlocks - List of all the Question and Answer blocks. */ function handleClickOrEnterOrSpace(element, faqBlocks) { const $element = $(element); const isActive = $element.hasClass('aplus-active'); faqBlocks.removeClass('aplus-active'); faqBlocks.find('[data-faq-question]').attr('aria-expanded', 'false'); if (!isActive) { $element.addClass('aplus-active'); $element.find('[data-faq-question]').attr('aria-expanded', 'true'); } } /* Using jQuery event namespace for preventing duplicate binding on twister refresh */ $faqBlocks.unbind('click keydown.premiumAplusModule11ClickHandler').bind('click keydown.premiumAplusModule11ClickHandler', function(event) { handleClickAndKeyEvents(event, () => handleClickOrEnterOrSpace(this, $faqBlocks)); }); } $('.aplus-v2 .premium-aplus-module-11 .faqs-container').each(function(index, module) { initFaq(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)); this.elem.setAttribute('role', 'tab'); /* 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).attr('aria-selected', 'true'); }; /** * Enter inactive state * @memberOf CarouselButton */ CarouselButton.prototype.deactivate = function() { this.$elem.removeClass(GOTO_BTN_ACTIVE_CLASS_NAME).attr('aria-selected', 'false'); }; /** * 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(); }); } })});}));

(function(f) {var _np=(window.P._namespace('PremiumAplusModule'));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.when('premium-module-10-hotspot-desktop').execute(function(init) { init(); });}));
Previous page





Next page
1 Healthy Digestion 2 No Artificials 3 High-Quality Protein 4 Kibble Size 5 Veterinarian Recommended
(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(); });}));

(function(f) {var _np=(window.P._namespace('PremiumAplusModule'));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.when('premium-module-11-faq').execute(function(init){ init(); });}));

IAMS Healthy Digestion
Add to Cart
logShoppableMetrics('premium-module-5-comparison-table-scroller', true)
IAMS Immune Health
logShoppableMetrics('premium-module-5-comparison-table-scroller', false)
Buying Options
IAMS Skin & Coat
Add to Cart
logShoppableMetrics('premium-module-5-comparison-table-scroller', true)
IAMS Active
logShoppableMetrics('premium-module-5-comparison-table-scroller', false)
Buying Options
IAMS MINICHUNKS Chicken
Add to Cart
logShoppableMetrics('premium-module-5-comparison-table-scroller', true)
IAMS Lamb & Rice Recipe
Add to Cart
logShoppableMetrics('premium-module-5-comparison-table-scroller', true)
Customer Reviews
4.6 out of 5 stars 2,140
4.6 out of 5 stars 568
4.6 out of 5 stars 1,162
4.5 out of 5 stars 324
4.7 out of 5 stars 31,621
4.7 out of 5 stars 9,319
Price
$29.97$29.97
—
$29.97$29.97
—
$29.97$29.97
$29.97$29.97
Format
Dry Food
Dry Food
Dry Food
Dry Food
Dry Food
Dry Food
Life Stage:
Chicken
Chicken
Chicken and Salmon
Chicken and Turkey
Chicken
Lamb
Dog needs
Supports healthy digestion
Supports immune health
Supports skin and coat
Supports active lifestyle
Supports whole-body health
Supports whole-body health
Life Stage
Adult
Adult
Adult
Adult
Adult
Adult
Available sizes
6 lb, 13.5 lb, 27 lb, 36 lb
6 lb, 13.5 lb, 27 lb, 36 lb
6 lb, 13.5 lb, 27 lb, 36 lb
6 lb, 13.5 lb, 27 lb, 36 lb
7 lb, 15 lb, 30 lb, 38.5 lb
15 lb, 30 lb, 38.5 lb, 40 lb
(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() });}));