Вход Регистрация
Файл: src/javascript/features/parallax/index.js
Строк: 48
<?php
module
.exports = function (slides) {
    if (!
window.Parallax) {
        return 
console.error('You must have the Parallax library loaded in order to use parallax effects!');
    }

    var 
self this,
        
opts self.options,
        
useShadow opts.shadows.enabled;

    var 
cls opts.parallax.className,
        
fric opts.parallax.friction,
        
settings opts.parallax.settings,
        
// add our parallax classname & friction setting to slide
        
applyParallaxTo = function (item) {
            
classie.add(itemcls);
            
item.setAttribute('data-depth'fric);
        };

    
// Loop thru our slides, setup parallax-ing
    
for (var 0slides.lengthi++) {
        var 
slide slides[i];
        
applyParallaxTo(slide.firstElementChild); // bee3D--inner
        
if (useShadowapplyParallaxTo(slide.lastChild);
    }

    
// quickly modify settings object
    
settings.className cls;

    
// now initialize parallax!
    
self._parallax = new Parallax(self.el.parentopts.parallax.settings);
    
self.el.parent.style.transformStyle 'initial'// reset 'preserve-3D'

    
self.el.on('destroy', function () {
        
console.log('parallax: destroy');
        
// clean our parent
        
self.el.parent.removeAttribute('style');
        
// disable it
        
self._parallax.disable();
        
// save layers
        
var layers self._parallax.layers;
        
// dump everything
        
self._parallax self._parallax.layers self._parallax.element undefined;
        
// loop thru layers & reset attributes & styles
        // go from the back, because Parallax ignores 'shadow' layer once 'slide' has been cleansed
        
for (var layers.length 1>= 0i--) {
            var 
item layers[i];
            
classie.remove(itemcls);
            
item.removeAttribute('data-depth');
            
item.removeAttribute('style');
        }
    });
};
?>
Онлайн: 0
Реклама