Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Определить максимальную высоту из массива (https://javascript.ru/forum/events/66021-opredelit-maksimalnuyu-vysotu-iz-massiva.html)

kulbabka 21.11.2016 17:20

Я не понимаю, почему мой boxes не массив?

Dilettante_Pro 21.11.2016 17:52

kulbabka,
var boxes = elements[i].clientHeight;

- это простая переменная, значение которой равно высоте одного элемента массива. В результате выполнения цикла - высота последнего элемента.
Перед циклом объявите
var boxes = [];


В цикле
boxes.push(elements[i].clientHeight);

kulbabka 21.11.2016 18:02

Огромное спасибо!

kulbabka 21.11.2016 18:05

:dance: получилось
function blocksByChildrenTest(){
		var elements = document.getElementById('list-holder').children;
		var boxes = [];
		for(var i = 0; i < elements.length; i++){
			boxes.push(elements[i].clientHeight);
		}
		var maxHeight = Math.max.apply(null, boxes);
		for (var j = 0; j < elements.length; j++){
			elements[j].style.height = maxHeight + 'px';	
		}
	}
	
	blocksByChildrenTest();

рони 22.11.2016 02:07

kulbabka,
:-?
function blocksByChildrenTest(){
    var elements = document.getElementById('list-holder').children;
    var maxHeight = 0;
    for(var i = 0; i < elements.length; i++){
      maxHeight = Math.max(elements[i].clientHeight, maxHeight);
    }
    for (i = 0; i < elements.length; i++){
      elements[i].style.height = maxHeight + 'px';
    }
  }


Часовой пояс GMT +3, время: 03:16.