(function($) { var defaluts = { large_elem: "large_elem", small_elem: "small_elem", left_btn: "left_btn", right_btn: "right_btn", state: "on", speed: "normal", vis: 3 }; $.fn.extend({ "thumbnailimg": function(options) { var opts = $.extend({}, defaluts, options); return this.each(function() { var $this = $(this); $(opts.large_elem).find("ul li").eq(0).show(); $(opts.small_elem).find("ul li").eq(0).addclass(opts.state); var l = $(opts.small_elem).find("ul li").length; var l_mean; if(l < opts.vis) { l_mean = 0 } else { l_mean = ((parseint(l / opts.vis) - 1) * opts.vis) + (l % opts.vis) } var w = $(opts.small_elem).find("ul li").outerwidth(true); $(opts.small_elem).find("ul").css("width", l * w + "px"); $(opts.small_elem).find("ul li").click(function() { $(this).addclass(opts.state).siblings().removeclass(opts.state); img($(this).index()) }); $(opts.left_btn).click(function() { var i; $(opts.small_elem).find("ul li").each(function(index) { if($(this).hasclass(opts.state)) { i = index } }); i--; if(i < 0) { i = l - 1 } $(opts.small_elem).find("ul li").eq(i).addclass(opts.state).siblings().removeclass(opts.state); var ml = i * w; if(ml <= l_mean * w) { $(opts.small_elem).find("ul").stop().animate({ marginleft: -ml + "px" }, opts.speed) } else { $(opts.small_elem).find("ul").stop().animate({ marginleft: -(l_mean * w) + "px" }, opts.speed) } img(i) }); $(opts.right_btn).click(function() { var i; $(opts.small_elem).find("ul li").each(function(index) { if($(this).hasclass(opts.state)) { i = index } }); i++; if(i > l - 1) { i = 0 } $(opts.small_elem).find("ul li").eq(i).addclass(opts.state).siblings().removeclass(opts.state); var ml = i * w; if(ml <= l_mean * w) { $(opts.small_elem).find("ul").stop().animate({ marginleft: -ml + "px" }, opts.speed) } else { $(opts.small_elem).find("ul").stop().animate({ marginleft: -(l_mean * w) + "px" }, opts.speed) } img(i) }); function img(i) { $(opts.large_elem).find("ul li").eq(i).fadein().siblings().hide() } }) } }) })(jquery);