У меня есть контейнер с n числом div внутри него. Мне нужен контейнер для изменения размера в соответствии с его детьми. Я знаю, что это можно сделать с помощью jquery-библиотеки следующим образом.Как установить ширину контейнера, вычисляя ширину, если ее дочерние элементы
JQuery
$(document).ready(function(){
setContainerWidth();
});
$(window).resize(function(){
setContainerWidth();
});
function setContainerWidth()
{
$('.container').css('width', 'auto'); //reset
var windowWidth = $(document).width();
var blockWidth = $('.block').outerWidth(true);
var maxBoxPerRow = Math.floor(windowWidth/blockWidth);
$('.container').width(maxBoxPerRow * blockWidth);
}
На этот раз мне нужно сделать это с чистым JavaScript для некоторых плагинов проблемы. Я сломал код до следующего и застрял в середине, любая помощь была бы оценена.
Javascript
function setContainerWidth(){
var container_width = document.getElementById('container').offsetWidth;
var width = document.body.clientWidth
var block_width = document.getElementsByClassName("block").offsetWidth;
container.style.width = "auto"
var maxBoxPerRow = Math.floor(width/block_width)
container.offsetWidth(maxBoxPerRow * block_width)
}
'document.getElementsByClassName()' возврата s массив элементов. Вы захотите использовать 'document.getElementsByClassName ('block') [0]' – Matt
Я пробовал его раньше, и он не работал в ma case – Benji
Даже попробовал 'id' вместо' class' для поля все еще не успел – Benji