/*! * 幻灯片 */ (function($) { $.fn.wmuSlider = function(options) { var defaults = { animation: "fade", animationDuration: 600, slideshow: true, slideshowSpeed: 7000, slideToStart: 0, navigationControl: true, paginationControl: true, previousText: "Previous", nextText: "Next", touch: false, slide: ".slider_img", items: 1 }; var options = $.extend(defaults, options); return this.each(function() { var $this = $(this); var currentIndex = options.slideToStart; var wrapper = $this.find(".wmuSlider"); var slides = $this.find(options.slide); var slidesCount = slides.length; var slideshowTimeout; var paginationControl; var isAnimating; var loadSlide = function(index, infinite) { if (isAnimating) { return false } isAnimating = true; currentIndex = index; var slide = $(slides[index]); $this.animate({ height: slide.innerHeight() }); if (options.animation == "fade") { slides.css({ position: "absolute", opacity: 0 }); slide.css("position", "relative"); slide.animate({ opacity: 1 }, options.animationDuration, function() { isAnimating = false }) } else { if (options.animation == "slide") { if (!infinite) { wrapper.animate({ marginLeft: -$this.width() / options.items * index }, options.animationDuration, function() { isAnimating = false }) } else { if (index == 0) { wrapper.animate({ marginLeft: -$this.width() / options.items * slidesCount }, options.animationDuration, function() { wrapper.css("marginLeft", 0); isAnimating = false }) } else { wrapper.animate({ marginLeft: -$this.width() / options.items * index }, options.animationDuration, function() { isAnimating = false }) } } } } if (paginationControl) { paginationControl.find("a").each(function(i) { if (i == index) { $(this).addClass("wmuActive") } else { $(this).removeClass("wmuActive") } }) } $this.trigger("slideLoaded", index) }; if (options.navigationControl) { var prev = $('' + options.previousText + ''); prev.click(function(e) { e.preventDefault(); clearTimeout(slideshowTimeout); if (currentIndex == 0) { loadSlide(slidesCount - 1, true); } else { loadSlide(currentIndex - 1); } }); $this.append(prev); var next = $('' + options.nextText + ''); next.click(function(e) { e.preventDefault(); clearTimeout(slideshowTimeout); if (currentIndex + 1 == slidesCount) { loadSlide(0, true); } else { loadSlide(currentIndex + 1); } }); $this.append(next); }; if (options.paginationControl) { paginationControl = $('