当前位置: 首页 > 面试题库 >

用jQuery计算Children的总宽度

罗茂实
2023-03-14
问题内容

我试图找到一个可以理解的答案,但是放弃了。

为了在水平网站上具有动态 内容(如博客文章和图像),您必须为像素中的主体设置固定宽度,对吗?
因为您在其中使用浮动元素,否则浮动元素会折断并包装页面,具体取决于浏览器的宽度。

编辑!* 可以使用 jQuery计算
该特定值,谢谢:)在此示例中,总大小中添加了一个附加值,该值可用于浮动元素之前的内容。现在,身体将获得动态宽度!
*

我最初的想法是让jQuery为我们计算这个:(“每个帖子的宽度” *“帖子的数量”)+ 250(用于额外的内容)

HTML代码

<body style="width: ;"> <!-- Here we want a DYNAMIC value -->
<div id="container">
    <div id="menu"></div> <!-- Example of extra content before the floats -->
    <div class="post">Lorem</div>
    <div class="post">Lorem</div>
    <div class="post">Lorem</div> <!-- Floated elements that we want the sizes of -->
    <div class="post">Lorem</div>
</div>
...
<!-- So if these posts were 300px exept the last that was 500px wide, then the BODY WIDTH should be ( 300+300+300+500 ) + 250 [#menu] = 1650px -->

Alconja的结果和答案

$(document).ready(function() {
var width = 0;
$('.post').each(function() {
    width += $(this).outerWidth( true );
});
$('body').css('width', width + 250);
});

非常感谢!


问题答案:

看起来您已经很正确了……不过有几点注意事项:

  • .outerWidth(true)包含padding和margin(因为您正在通过true),因此无需尝试再次添加。
  • .outerWidth(...) 仅返回第一个元素的宽度,因此,如果每个元素的大小不同,则将其乘以帖子数将不会是总宽度的准确值。

考虑到这一点,这样的事情应该会给你带来什么(保持250初始填充,我认为这是用于菜单和其他东西的?):

var width = 0;
$('.post').each(function() {
    width += $(this).outerWidth( true );
});
$('body').css('width', width + 250);

这是否有帮助,或者您还有其他特定问题(问题还不太清楚)?



 类似资料:
  • 问题内容: 我想使用JavaScript计算字符串的宽度。是否可以不必使用等宽字体? 如果不是内置的,我唯一的想法就是为每个字符创建一个宽度表,但这是非常不合理的,特别是支持Unicode和不同类型的大小(以及与此相关的所有浏览器)。 问题答案: 创建具有以下样式的DIV。在JavaScript中,设置要测量的字体大小和属性,将字符串放入DIV中,然后读取DIV的当前宽度和高度。它将拉伸以适合内容

  • 我试图在Acrobat中使用JavaScript以交互形式总计10个数据字段。最初,数据是手动输入的。我们创建的计算公式在手动输入数据时有效,但当数据从另一个表单导出,然后使用FDF文件导入到此表单时,计算公式不能正确合计。 当前工作流使用三种形式。数据输入表格1 打开表格3,将两个数据文件导入该表格。有两个具有类似公式的总计字段,一个将所有负数相加,另一个将所有正数相加。 但是,当我们导入两个文

  • 问题内容: 我正在使用Java绘制一些文本,但是对我来说很难计算字符串的宽度。例如:zheng中国…这个字符串要占用多长时间? 问题答案: 对于单个字符串,您可以获取给定图形字体的度量,然后使用该度量来计算字符串大小。例如: 如果您有更复杂的文本布局要求,例如在给定宽度内流动一段文本,则可以创建一个对象,例如此示例(来自docs):

  • 我需要阅读由AutoCAD导出为PDF的平面图,并使用PDFBox在上面放置一些带有文本的标记。除了文字宽度的计算之外,一切都很顺利,文字的宽度写在标记旁边。 我浏览了整个PDF规范,详细阅读了其中涉及图形和文本的部分,但没有任何效果。据我所知,字形坐标空间设置在用户坐标空间的1/1000处。因此,宽度需要放大1000倍,但仍然是实际宽度的一小部分。 这就是我为定位文本所做的: *0.043f可以

  • 计算二叉树最大的宽度 根据带虚结点的先序序列建立二叉树,计算该二叉树最大的宽度(二叉树的最大宽度是指二叉树所有层中结点个数的最大值)并输出。 输入格式: 测试数据有多组,处理到文件尾。每组测试数据在一行中输入一个字符串(不含空格且长度不超过80),表示二叉树的先序遍历序列,其中字符*表示虚结点(对应的子树为空)。 输出格式: 对于每组测试,输出二叉树的最大宽度。输出格式为:“maxWidth: m

  • 问题内容: 我有这个MySQL查询: 返回如下内容: 我真正想要的是末尾的另一列以显示运行总计: 这可能吗? 问题答案: 也许对您来说是一个更简单的解决方案,并且可以防止数据库不得不执行大量查询。这仅执行一个查询,然后在一次通过中对结果进行一些数学运算。 这将为您提供一个额外的RT(运行总计)列。不要错过顶部的SET语句来首先初始化运行中的total变量,否则您将只获得一列NULL值。