Вход Регистрация
Файл: src/javascript/index.js
Строк: 101
<?php
'use strict';

var 
core = require('./core');
var 
classes = require('./core/-classes');
var 
touches = require('./core/-touches');
var 
changed = require('./core/-changed');
// var scale   = require('./core/-scale');
var keys = require('./core/-keys');

var 
defaults = require('./-defaults');
var 
merge = require('./-merge');

/**
 * Bee3D Slider
 * @param {HTMLElement}    slider parent
 * @param {Object}         options (optional)
 */
function Bee3D(parentoptions) {
    var 
opts merge({}, defaults);
    
this.options merge(optsoptions);
    
this.init(parent);
}

Bee3D.prototype = {
    
init: function (parent) {
        var 
opts this.options,
            
slides parent.querySelectorAll(opts.selector);

        
// create slider instance
        
this.el core(slides);
        
this.el.parent parent;

        
// init plugins
        
this.plugins();

        
// activate the first slide
        
this.el.slide(this.options.focus);
        
// assign effect to slider--parent
        
classie.add(this.el.parent'bee3D--effect__' this.options.effect);

        
// initialize events
        
this.events();
        
this.slideEvents();

        
// onInit callback
        
this.options.onInit();

        
// let ourselves know we've started
        
this.el.initialized true;
    },

    
plugins: function () {
        var 
self this,
            
opts self.options,
            
funcs = [
                
classes(opts),
                
changed(opts.onChange)
            ];

        
// if turned on...
        
if (opts.listeners.keysfuncs.push(keys());
        if (
opts.listeners.touchesfuncs.push(touches());

        
// init plugin funcs
        
(funcs || []).forEach(function (plugin) {
            
plugin(self.el);
        });
    },

    
events: function () {
        var 
opts this.options;

        if (
opts.sync.enabledthis.sync();
        if (
opts.ajax.enabledthis.ajax();
        if (
opts.loop.enabledthis.loop();
        if (
opts.autoplay.enabledthis.autoplay();
        if (
opts.navigation.enabledthis.navigation();
        if (
opts.listeners.scrollthis.mouseScroll();
        if (
opts.listeners.dragthis.mouseDrag();
    },

    
slideEvents: function (slides) {
        var 
opts this.options;

        if (!
slidesslides this.el.slides;

        if (
opts.shadows.enabledthis.shadows(slides);
        if (
opts.parallax.enabledthis.parallax(slides);
        if (
opts.listeners.clicksthis.clickInactives(slides);
    },

    
sync: require('./features/sync'),
    
ajax: require('./features/ajax'),
    
loop: require('./features/loop'),
    
shadows: require('./features/shadows'),
    
autoplay: require('./features/autoplay'),
    
navigation: require('./features/navigation'),
    
parallax: require('./features/parallax'),

    
clickInactives: require('./features/clickInactives'),
    
mouseScroll: require('./features/mouseScroll'),
    
mouseDrag: require('./features/mouseDrag'),

    
destroy: require('./core/-destroy'),

    
// --- helpers
    
listenToHover: require('./features/autoplay/-listenToHover')
};

module.exports Bee3D;
?>
Онлайн: 0
Реклама