Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据文本长度设置旋转木马的容器div高度_Javascript_Jquery_Html - Fatal编程技术网

Javascript 根据文本长度设置旋转木马的容器div高度

Javascript 根据文本长度设置旋转木马的容器div高度,javascript,jquery,html,Javascript,Jquery,Html,我有一个img旋转木马,它在宽屏窗口的右侧有描述内容,然后当浏览器窗口到达断点时,描述会显示在图像下方。我希望div的大小基于最长描述中的文本量,否则当旋转木马设置动画时,页面的其余部分会根据描述中的文本量上下移动 我假设我需要一些javascript来查看所有旋转木马文本描述,然后根据最长的描述文本设置容器div的高度 你知道怎么做吗 更新: 我创建这个来显示我需要什么。我需要所有div的所有高度来匹配其中文本最多的div <div class="description">Smal

我有一个img旋转木马,它在宽屏窗口的右侧有描述内容,然后当浏览器窗口到达断点时,描述会显示在图像下方。我希望div的大小基于最长描述中的文本量,否则当旋转木马设置动画时,页面的其余部分会根据描述中的文本量上下移动

我假设我需要一些javascript来查看所有旋转木马文本描述,然后根据最长的描述文本设置容器div的高度

你知道怎么做吗

更新: 我创建这个来显示我需要什么。我需要所有div的所有高度来匹配其中文本最多的div

<div class="description">Small amount of text</div>
<div class="description">Slightly larger amount of text.</p>
<div class="description">And then the really, really, really long description here.</div>
少量文本
文本量稍大一些

然后是非常非常非常长的描述。
在本节中,我们提出了非常类似的问题。并回答如下:“也许你可以删除height属性(确保它没有在CSS中设置),让DIV自己扩展高度。”将这个答案与一个查询结合起来,找到最高的,以检测所需的高度,例如。。。下面是另一个关于如何使用的例子

你有一个我们可以看到的例子吗。请在您的代码中发布演示或粘贴的链接

更新: 下面是一个易于使用的jQuery函数的文档,该函数允许我们获取和操作元素的高度:


第二次更新:(感谢您添加示例代码)

根据我们需要的具体程度(即,AllegementSheight必须等于…”“匹配元素集中第一个元素的当前计算高度,包括填充、边框和可选边距。”(例如,根据此请求要求,我们可以使用jQuery的“.outerHeight()”(有其他方法获取此数据)(例如获取Javascript“offsetHeight”,我将省略关于性能变化的争论,因为它在web上有很好的文档记录(即‘‘‘‘‘‘‘)’),我们可以使用jQuery为我们提供具有最大高度的
div
的高度,下面是一个示例

我已经把更新后的帖子放到这里,可以在这里查看

以下是更新的fiddle中的概念验证代码:

HTML

Javascript


您将遇到的问题是,高度根据描述的行数而变化。这将根据窗口大小、字体大小和字体系列以及不同浏览器用于呈现文本的任何变化而变化

最好的方法可能是在集合中循环,获取每个描述元素的高度。例如:

var maxHeight = '';
var heights = [];

$.each(collection, function(item){
  heights.push(item.outerHeight(true));
}

maxHeight = Math.max.apply(Math, heights);
maxHeight应该包含最大的数字,然后您也可以设置所有描述高度

$.each(collection, function(item) {
  item.css('height', maxHeight + 'px');
}

作为StackOverflow上的最佳实践,这些类型的问题确实应该有某种演示,所以我们不仅仅给你免费代码,社区可以从答案中学习,而不仅仅是将你的答案复制并粘贴到他们的代码中。对于此类演示来说,这是一个易于使用且经常使用的工具。这就是为什么我没有以@Phatj的形式提供代码的原因am98完成了。感谢您花时间告诉我……我感谢您周到的方法。我更新了我的帖子,简化了我需要的内容。我仍然在努力实现正确的代码。您能进一步帮助我吗?非常感谢!这正是我需要的。我非常感谢您的帮助和周到的解释方式惯性导航与制导。
var $d = $( ".description" ), 
    tallestDivHeight = 0


$d.each(function (i, v) {
    var $t = $(this), 
        thisDivsHeight = $t.outerHeight()

    console.log(thisDivsHeight)

    if(thisDivsHeight > tallestDivHeight) tallestDivHeight = thisDivsHeight
})


$d.css('height', tallestDivHeight)
var maxHeight = '';
var heights = [];

$.each(collection, function(item){
  heights.push(item.outerHeight(true));
}

maxHeight = Math.max.apply(Math, heights);
$.each(collection, function(item) {
  item.css('height', maxHeight + 'px');
}