/*! * crosscover v0.1.0 * carousel of a simple background image using jquery and animate.css. * http://git.blivesta.com/crosscover * license : mit * author : blivesta (http://blivesta.com/) */ ;(function(factory) { 'use strict'; if (typeof define === 'function' && define.amd) { define(['jquery'], factory); } else if (typeof exports === 'object') { module.exports = factory(require('jquery')); } else { factory(jquery); } }(function($) { 'use strict'; var namespace = 'crosscover'; var __ = { init: function(options) { options = $.extend({ animateinclass: 'fade-in', animateoutclass: 'fade-out', interval: 5000, startindex: 0, autoplay: true, controller: true, controllerclass: 'crosscover-controller', prevclass: 'crosscover-prev', nextclass: 'crosscover-next', playerclass: 'crosscover-player', playeractiveclass: 'is-playing', playerinnerhtml: '', // previnnerhtml: '', //nextinnerhtml: '' }, options); __.settings = { currentindex: options.startindex, timer: null }; return this.each(function() { var _this = this; var $this = $(this); var data = $this.data(namespace); var $item = $this.children('.crosscover-list').children('li'); if (!data) { options = $.extend({}, options); $this.data(namespace, { options: options }); if (options.controller) __.createcontroler.call(_this, $item); __.setup.call(_this, $item); } }); }, setup: function($item) { var _this = this; var $this = $(this); var options = $this.data(namespace).options; $item.each(function(index) { var $self = $(this); var image = $self.find('img').attr('src'); $self .addclass('crosscover-setup') .css({ 'background-image': 'url(' + image + ')' }); }); return __.slidestart.call(_this, $item); }, slidestart: function($item) { var _this = this; __.autoplaystart.call(_this, $item); __.show.call(_this, $item); }, createcontroler: function($item) { var _this = this; var $this = $(this); var options = $this.data(namespace).options; var isclass = options.autoplay ? options.playeractiveclass : null; $this .append( $('
') .attr({ 'data-crosscover-controls': '' }) .addclass(options.controllerclass) .append( $('