/*! * BanerRender Library v1.0.0 * * "Web-Anatomy" s.c. Sebastian "Bastek" Ceglarz i Szymon "Nabu" Polok * http://web-anatomy.com * Copyright 2011 * Date: 2015-02-15 */ function BanerRender(){ this.bestSize = {width:201,height:150}; this.minLogoSpace = 30; this.docWidth = $(document).width()-10; //poprawka na padding this.docHeight = $(document).height()-10-this.minLogoSpace; this.render(this.docWidth, this.docHeight); var o = this; $(window).resize(function(){ $('body').html('
'); if($(document).height() < 160) o.minLogoSpace = 0; else o.minLogoSpace = 30; o.docWidth = $(document).width()-10; //poprawka na padding o.docHeight = $(document).height()-10-o.minLogoSpace; o.render(o.docWidth, o.docHeight); }); }; BanerRender.prototype.calculateElementSize = function(width, height){ //obliczamy ilosc var cols = Math.round(width/this.bestSize.width); var heightProp = Math.round(((width/cols)*3)/4); var rows = Math.ceil(height/heightProp); this.bestSize.width = Math.floor(width/cols); this.bestSize.height = heightProp; if(heightProp*rows > height){ rows--; if(rows <= 0) rows = 1; } //dopasowujemy rozmiar var eachElementWidth = Math.floor(width/cols); var eachElementHeight = Math.floor(heightProp); var diffW = eachElementWidth-this.bestSize.width; var diffH = eachElementHeight-this.bestSize.height; var size = {width:eachElementWidth,height:eachElementHeight, cols: cols, rows: rows, diffW: diffW, diffH: diffH}; if(rows != 1 && size.height < this.bestSize.height-30) return this.calculateElementSize(width, height-20); return size; }; BanerRender.prototype.render = function(width, height){ var size = this.calculateElementSize(width, height); var html = ''; var imgI = 0; var imgWidth = size.width-10; if(this.bestSize.width-10 < size.width-10) imgWidth = this.bestSize.width-10; var imgHeight = this.bestSize.height; if(this.bestSize.height > size.height) imgHeight = size.height; var marginTopC = imgHeight-33; var marginLeftC = Math.round((size.width-imgWidth-10)/2); for(var i=0;i