У меня сложная проблема. Я пытаюсь случайным образом дивы разной высоты с условиями, которыеСлучайные, не перекрывающиеся максимальные ширины divs, даже размерные по строкам
- нет дивы перекрытия,
- дивы по той же «х-линии» имеют одинаковую ширину, и
- дивы занимают максимум доступная ширина без нарушения условия 2.
Я сохраняю значения для каждого div, когда я их создаю. Предотвращение дублирования легко, я в основном перебирает все дивы и проверить:
if (obj1.y < obj2.x && obj2.x < obj1.y)
Однако, все становится сложнее, когда у меня есть несколько встречных дивов. Скажем, у меня есть два не сталкиваясь див (полная ширина):
Вот ссылка на иллюстрацию (не может включать в себя изображения без репутации :()
https://dl.dropboxusercontent.com/u/23220381/divs.png
Где Div1.width = div2 .width = Div3.width.
Мои первые попытки создать алгоритм не работают. В принципе, когда я добавляю div, я обнаруживаю, сколько коллизий существует. В случае Div3 он сталкивается с двумя другими div, но поскольку Div1 и Div2 не сталкиваются, мне нужно всего лишь увеличить ширину на 1/2, а не 1/3. Я могу исправить алгоритм, проверив, будут ли Div1 и Div2 co но я понятия не имею, как обобщить это на n Div.
Любая помощь будет высоко ценится :)
EDIT: Добавлено изображение, чтобы попытаться проиллюстрировать базовый сценарий :)
У вас есть некоторое странное форматирование там. Возможно, было бы лучше использовать изображение вместо того, чтобы отступать от вашего текста. – Mike
Ваша ссылка для Dropbbox не работает. Поместите изображение на imgur или где-нибудь постоянное. – opyate