From c94fb32c7a3c28b18a27460aa2447eeec1fac1de Mon Sep 17 00:00:00 2001 From: Pascal Szewczyk Date: Mon, 18 Jul 2016 23:23:54 +0200 Subject: uikit added --- js/core/cover.js | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100755 js/core/cover.js (limited to 'js/core/cover.js') diff --git a/js/core/cover.js b/js/core/cover.js new file mode 100755 index 0000000..046ac9d --- /dev/null +++ b/js/core/cover.js @@ -0,0 +1,95 @@ +/*! UIkit 2.26.4 | 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); -- cgit v1.2.3