100% 内に含まれる、ページの周りに散発的に (最終的には画像を含む) div の負荷全体をランダムに配置しようとしています。問題は、div をオーバーラップさせたくないということです。また、すべての div は画像に応じて異なるサイズになります。
私が現在持っている方法
:(ここでもjsfiddle http://jsfiddle.net/2z4rK/)
function randomFromTo(from, to){
return Math.floor(Math.random() * (to - from + 1) + from);
}
function moveRandom() {
var cPos = $('#block-container').offset();
var cHeight = $('#block-container').height();
var cWidth = $('#block-container').width();
var pad = parseInt($('#block-container').css('padding-top').replace('px', ''));
var bHeight = $('.block').height();
var bWidth = $('.block').width();
maxY = cPos.top + cHeight - bHeight - pad;
maxX = cPos.left + cWidth - bWidth - pad;
minY = cPos.top + pad;
minX = cPos.left + pad;
$('.block').each(function() {
newY = randomFromTo(minY, maxY);
newX = randomFromTo(minX, maxX);
$(this).animate({
top: newY,
left: newX
}, 500, function() {
});
});
}
moveRandom();
これは問題ありませんが、div が重なっていて、すべて同じサイズにする必要があるようです。div はクライアントによって動的に追加されるため、完全に自己完結型にする必要があります。これは、この現在の方法が失敗すると思われる場所です。div をランダムに配置する方法はありますか?
私が達成しようとしていることの良い例: http://www.jormamueller.com