(function ($) { $.fn.nicoslider = function (options) { var defaults = { start: 0, color: '#F6F2F1', sliderHeight: false }; var opts = $.extend({}, $.fn.nicoslider.defaults, defaults, options); return this.each(function () { new nicoslide(this, opts); }); }; var nicoslide = function (slider, o) { var $slider = $(slider); $sliderWidth = $slider.parent().innerWidth(); $sliderCss = { 'width': $sliderWidth, 'background-color': o.color }; $slider.css($sliderCss); var ul = $slider.find("ul"); var ulWidth = 0; var liHeight = 0; $slider.find("li").each(function () { ulWidth += $(this).width() + 5; ulWidth += parseInt($(this).css("padding-left")); ulWidth += parseInt($(this).css("padding-right")); ulWidth += parseInt($(this).css("margin-left")); ulWidth += parseInt($(this).css("margin-right")); liHeight = Math.max(liHeight, $(this).outerHeight()); }); //5 % of slider width $scrollWidth = Math.round(parseInt($sliderWidth) * parseFloat("0.05")); //min 30 px; if ($scrollWidth < 30) { $scrollWidth = 30; } var $wrapperWidth = Math.round(parseInt($sliderWidth) - ( 2 * $scrollWidth )); if (ulWidth > $wrapperWidth) { ul.wrapAll("
"); $wrapper = $slider.find(".wrapper"); $ulHeight = ul.height(); $wrapper.width($wrapperWidth); $wrapper.height($ulHeight); $wrapperCss = { 'overflow': 'hidden', 'float': 'left', 'position': 'relative' }; $wrapper.css($wrapperCss); ul.css('position', 'absolute'); ul.width(ulWidth); $slider.prepend(""); $slider.append(""); var rightScroll = $slider.find(".scrollright"); var leftScroll = $slider.find(".scrollleft"); rightScroll.append("