Files
littleTiger/template/pc/rainbow/static/js/tp_slider.js

90 lines
3.0 KiB
JavaScript
Raw Permalink Normal View History

2019-02-28 19:48:21 +08:00
;(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 = '<ul class="' + settings.pagination_class + '">';
for (var i = 1; i <= slider.items_count; i++) {
pagination_html += '<li>' + '<a href="javascript:;">' + i + '</a>' + '</li>';
}
pagination_html += '</ul>';
$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);