﻿/* Easyscroller van de opknipper, z'n eerste plugin! Yay! */
(function ($) { $.fn.easyscroller = function (options) { var settings = { maxItemsCount: 5, animSpeed: 500 }; this.each(function () { if (options) { $.extend(settings, options) } var $maxItemsCount = settings.maxItemsCount; var $animSpeed = settings.animSpeed; var $itemsCount = $(this).children().children().size(); if ($itemsCount > $maxItemsCount) { $(this).before("<div class=\"articlegalleryPrev\"><div class=\"inside\"></div></div>").after("<div class=\"articlegalleryNext\"><div class=\"inside\"></div></div>"); var $currentSlideCount = 1; var $maxSlides = Math.ceil(($itemsCount * $(this).children().children(":first").outerWidth()) / $(this).outerWidth()); var $targetGalleryContainer = $(this); $(".articlegalleryNext", $(this).parent()).click(function () { if ($currentSlideCount < $maxSlides) { var $targetLink = ($currentSlideCount * $maxItemsCount); if (($targetLink + $maxItemsCount) > $itemsCount) $targetLink -= ($maxItemsCount * $maxSlides) - $itemsCount; var $targetOffset = $targetGalleryContainer.children().children(":eq(" + $targetLink + ")").position().left; if ($targetOffset > 0) { $targetGalleryContainer.children(":first").stop().animate({ left: "-" + $targetOffset + "px" }, $animSpeed); if ($currentSlideCount == 1) $(".articlegalleryPrev", $targetGalleryContainer.parent()).css({ "visibility": "visible" }); $currentSlideCount++; if ($currentSlideCount == $maxSlides) $(".articlegalleryNext", $targetGalleryContainer.parent()).css({ "visibility": "hidden" }) } } }); $(".articlegalleryPrev", $(this).parent()).click(function () { if ($currentSlideCount <= $maxSlides && $currentSlideCount > 1) { $currentSlideCount--; var $targetLink = ($currentSlideCount * $maxItemsCount) - $maxItemsCount; var $targetOffset = $targetGalleryContainer.children().children(":eq(" + $targetLink + ")").position().left; if ($targetOffset >= 0) { $targetGalleryContainer.children(":first").stop().animate({ left: "-" + $targetOffset + "px" }, $animSpeed); if ($currentSlideCount == 1) $(".articlegalleryPrev", $targetGalleryContainer.parent()).css({ "visibility": "hidden" }); if (($currentSlideCount + 1) == $maxSlides) $(".articlegalleryNext", $targetGalleryContainer.parent()).css({ "visibility": "visible" }) } } }) } }) } })(jQuery);
