first global commit
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
(function($) {
|
||||
|
||||
$.fn.menucloud = function(settings)
|
||||
{
|
||||
settings = $.extend({}, $.fn.menucloud.defaults, settings);
|
||||
|
||||
$('ul', this).css({
|
||||
'position':'relative',
|
||||
'width':'100%',
|
||||
'height':'100%',
|
||||
'padding':0
|
||||
})
|
||||
|
||||
$('li', this).css({'top':"-100px", 'left':'-100px'}).each(function(i,e){
|
||||
var $li = $(e);
|
||||
$li.css({
|
||||
// 'border':'1px solid red',
|
||||
'position':'absolute'
|
||||
});
|
||||
|
||||
var $prt = $li.parent('ul.menu');
|
||||
// $.log('li', $li);
|
||||
// $.log('$this | width = '+$li.width()+' | height = '+$li.height());
|
||||
// $.log('$prt | width = '+$prt.width()+' | height = '+$prt.height());
|
||||
|
||||
function _testPos(t){
|
||||
var isok = true;
|
||||
$li.siblings().each(function(j, sib){
|
||||
$sib = $(sib);
|
||||
// var pos = $sib.position();
|
||||
// $.log('pos',pos);
|
||||
var css_sib_top = $sib.css('top');
|
||||
// $.log('css_sib_top.match("/em/") = '+css_sib_top.search('em'));
|
||||
var sib_top = css_sib_top.search('em') >= 0 ? parseFloat(css_sib_top)/settings.q : parseFloat(css_sib_top);
|
||||
|
||||
// $.log('sib_top = '+sib_top);
|
||||
// $.log('t = '+t+' | sib_top = '+sib_top);
|
||||
// $.log('Math.abs(top-sib_top) = '+Math.abs(top-sib_top));
|
||||
|
||||
if(Math.abs(t-sib_top) < 35){
|
||||
isok = false;
|
||||
return false;
|
||||
};
|
||||
|
||||
});
|
||||
|
||||
return isok;
|
||||
};
|
||||
|
||||
var isPosOK = false;
|
||||
var limit = 0;
|
||||
while(!isPosOK && limit < 10){
|
||||
var top = (Math.round(Math.random()*(($prt.height()-settings.margin.t-settings.margin.b)-$li.height()))+settings.margin.t);
|
||||
var left = (Math.round(Math.random()*(($prt.width()-settings.margin.l-settings.margin.r)-$li.width()))+settings.margin.l);
|
||||
isPosOK = _testPos(top);
|
||||
// $.log('isPosOK = '+isPosOK);
|
||||
limit = limit+1;
|
||||
}
|
||||
|
||||
$li.css({
|
||||
'top':(top*settings.q)+'em',
|
||||
'left':(left*settings.q)+'em'
|
||||
});
|
||||
|
||||
// $.log('- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ');
|
||||
|
||||
});
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
$.fn.menucloud.defaults = {
|
||||
q:0.063,
|
||||
margin : {t:0,r:0,b:0,l:0}
|
||||
};
|
||||
|
||||
|
||||
})(jQuery);
|
||||
Reference in New Issue
Block a user