;(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);