Math.random и добавление блоков
Генерирую 3 случайных числа, но они получаются одинаковые:
numMarginTop= Math.floor(Math.random() * (500 - 50 + 1)) + 50; numMarginLeft= Math.floor(Math.random() * (500 - 50) + 1) + 50; numMarginRight= Math.floor(Math.random() * (500 - 50 + 1)) + 50; А затем добавляю в цикле 2 блока с margin`ами этих чисел. $(".num" +i).css({ 'margin-top': numMarginTop, 'margin-left': numMarginLeft, 'margin-right': numMarginRight, }); блоки получаются на одной и той же координате. Типо так: 5 5 А нужно типо так:
5
5
|
а вы в цикле меняйте:
numMarginTop= Math.floor(Math.random() * (500 - 50 + 1)) + 50; numMarginLeft= Math.floor(Math.random() * (500 - 50) + 1) + 50; numMarginRight= Math.floor(Math.random() * (500 - 50 + 1)) + 50; ??? |
function rand(){
return Math.floor(Math.random() * (500 - 50 + 1)) + 50;
}
for(i=0; i<10; i++) $(".num" +i).css({
'margin-top': rand(),
'margin-left': rand(),
'margin-right': rand(),
});
Или вообще так:
function rand(){
return Math.floor(Math.random() * (500 - 50 + 1)) + 50;
}
for(i=0; i<10; i++) $(".num" +i).css('margin', rand()+' '+rand()+' '+rand()+' auto');
|
Ruslan_xDD, первый ваш варик мне больше нравится)) ибо писать все в одну строчку.. фууу)))
|
И еще, чтобы не создавать новый сабж. Вот я генерирую блоки так
var level, size;
level = 1;
for(var i = level;i<level+4;i++){
$("#game_area").append('<div class="num'+i+'"><p class="numValue'+i+'">'+rand(1,10)+'</p></div>');
size = rand(50,100);
margin = rand(1,120);
marginLeft = rand(1, 300);
$(".num" +i).css({
'width':size,
'height':size,
'border-radius':size + 1,
'margin-top':margin,
'margin-left':marginLeft,
'border':'1px solid #000',
'text-align': 'center',
'cursor': ' pointer'
});
$(".numValue").css({
'padding':rand(50,100)/5
});
}
Но случается когда они вылазят за нужною мне область, этом случае #game_area, не могу никак рассчитать чтобы они не вылазили, помогите |
| Часовой пояс GMT +3, время: 18:18. |