;(function($) { $.fn.nc_slider = function(options) { var defaults = { animate: 400, timeout: 5000, pagination: true, pagination_class: 'full-screen-slides-pagination' }; var settings = $.extend({}, defaults, options); function nc_slider($slider) { var slider = { timer: null, $items: null, items_count: null, max_index: null, $pagination: null, auto: true, current: 0 }; function init() { slider.$items = $slider.children(); slider.items_count = slider.$items.length; if(slider.items_count <= 1) { return; } slider.max_index = slider.items_count - 1; slider.$items.hide(); //初始化导航 if(settings.pagination) { //生成导航按钮 var pagination_html = ''; $slider.after(pagination_html); slider.$pagination = $slider.next('ul').find('li'); //导航按钮单击切换 slider.$pagination.on('click', function() { var next = $(this).index(); go(next); }); //鼠标移动到导航按钮上暂停自动播放 slider.$pagination.mouseenter(function() { slider.auto = false; }); slider.$pagination.mouseleave(function() { slider.auto = true; }); } next(); } function go(next) { slider.$items.eq(slider.current).fadeOut(settings.animate); slider.$items.eq(next).fadeIn(settings.animate); slider.current = next; if(settings.pagination) { slider.$pagination.eq(next).addClass('current').siblings('li').removeClass('current'); } } function next() { if (slider.auto) { if (slider.current >= slider.max_index || slider.timer === null) { go(0); } else { go(slider.current + 1); } } slider.timer = setTimeout(next, settings.timeout); } init(); } return this.each(function() { nc_slider($(this)); }); }; })(jQuery);