Файл: tyde/www/web/js/core/cover.js
Строк: 83
<?php
/*! UIkit 2.24.3 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
(function(UI){
    "use strict";
    UI.component('cover', {
        defaults: {
            automute : true
        },
        boot: function() {
            // auto init
            UI.ready(function(context) {
                UI.$("[data-uk-cover]", context).each(function(){
                    var ele = UI.$(this);
                    if(!ele.data("cover")) {
                        var plugin = UI.cover(ele, UI.Utils.options(ele.attr("data-uk-cover")));
                    }
                });
            });
        },
        init: function() {
            this.parent = this.element.parent();
            UI.$win.on('load resize orientationchange', UI.Utils.debounce(function(){
                this.check();
            }.bind(this), 100));
            this.on("display.uk.check", function(e) {
                if(this.element.is(":visible")) this.check();
            }.bind(this));
            this.check();
            if (this.element.is('iframe') && this.options.automute) {
                var src = this.element.attr('src');
                this.element.attr('src', '').on('load', function(){
                    this.contentWindow.postMessage('{ "event": "command", "func": "mute", "method":"setVolume", "value":0}', '*');
                }).attr('src', [src, (src.indexOf('?') > -1 ? '&':'?'), 'enablejsapi=1&api=1'].join(''));
            }
        },
        check: function() {
            this.element.css({
                'width'  : '',
                'height' : ''
            });
            this.dimension = {w: this.element.width(), h: this.element.height()};
            if (this.element.attr('width') && !isNaN(this.element.attr('width'))) {
                this.dimension.w = this.element.attr('width');
            }
            if (this.element.attr('height') && !isNaN(this.element.attr('height'))) {
                this.dimension.h = this.element.attr('height');
            }
            this.ratio     = this.dimension.w / this.dimension.h;
            var w = this.parent.width(), h = this.parent.height(), width, height;
            // if element height < parent height (gap underneath)
            if ((w / this.ratio) < h) {
                width  = Math.ceil(h * this.ratio);
                height = h;
            // element width < parent width (gap to right)
            } else {
                width  = w;
                height = Math.ceil(w / this.ratio);
            }
            this.element.css({
                'width'  : width,
                'height' : height
            });
        }
    });
})(UIkit);
?>