Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.07.2013, 11:31
Аспирант
Отправить личное сообщение для IVAAAAN Посмотреть профиль Найти все сообщения от IVAAAAN
 
Регистрация: 04.07.2013
Сообщений: 47

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
Ответить с цитированием
  #2 (permalink)  
Старый 08.07.2013, 11:39
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

а вы в цикле меняйте:
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;

???
Ответить с цитированием
  #3 (permalink)  
Старый 08.07.2013, 11:41
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

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_mart, 08.07.2013 в 11:44.
Ответить с цитированием
  #4 (permalink)  
Старый 08.07.2013, 11:49
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

Ruslan_xDD, первый ваш варик мне больше нравится)) ибо писать все в одну строчку.. фууу)))
Ответить с цитированием
  #5 (permalink)  
Старый 08.07.2013, 13:16
Аспирант
Отправить личное сообщение для IVAAAAN Посмотреть профиль Найти все сообщения от IVAAAAN
 
Регистрация: 04.07.2013
Сообщений: 47

И еще, чтобы не создавать новый сабж. Вот я генерирую блоки так
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, не могу никак рассчитать чтобы они не вылазили, помогите

Последний раз редактировалось IVAAAAN, 08.07.2013 в 14:46.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка блоков по параметрам webmanss Элементы интерфейса 17 18.06.2016 20:04
Переключение блоков. lon Элементы интерфейса 7 03.07.2013 09:08
Добавление непересекаемых блоков на страницу m2broth Общие вопросы Javascript 8 03.02.2013 15:11
Добавление блоков из шаблона с уникальными именами wcb-falcon Общие вопросы Javascript 2 10.04.2012 18:14
Печать невидимых блоков mixeeff Events/DOM/Window 7 11.03.2009 11:41