gpt4 book ai didi

javascript - 如何设置容器宽度计算其子级的宽度

转载 作者:行者123 更新时间:2023-11-28 00:54:22 28 4
gpt4 key购买 nike

我有一个容器,里面有n个div。我需要根据 children 的情况调整容器的大小。我知道这可以使用 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)
}

Example one using jquery

Example two using javascript

最佳答案

您在纯 JavaScript 翻译中遗漏了一些内容:

function setContainerWidth()
{
var container = document.getElementById('container');
container.style.width = "auto";
var window_width = window.innerWidth;
var block_width = document.getElementsByClassName("block")[0].offsetWidth;
var maxBoxPerRow = Math.floor(window_width / block_width);
container.style.width = (maxBoxPerRow * block_width) + 'px';
}

关于javascript - 如何设置容器宽度计算其子级的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26406648/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com