0

我在一个 jQuery 循环实例中有多个 html 块,如下所示:

<div class="pane" id="...">
 <div class="title">
  <span>...</span>
  <div class="sS">...</div>
 </div>
</div>

.pane是循环幻灯片。我想独立地获得每个跨度的高度(因为它们包含不同数量的文本,所以有些会在较小的屏幕上换成两行)。

计算出高度后,我想将此值应用于父级的高度.title- 独立(无需根据 ID 为每个窗格手动完成所有工作)。

到目前为止,我有:

 $(".pane").each(function() {
    var tpheight =  $(this).find("span").outerHeight()
    $(this).find(".title").css({"height" : tpheight + "px"})
})

哪种作品(包含“px”没有区别)但第一个跨度显示为正确的高度,但其他窗格中的所有其他跨度都太短了。我正在使用outerHeight,因为我需要包含填充。这是我正在处理的页面:

http://test.soundvaultstudios.co.uk/services

许多其他帖子都谈到了获取最高元素的高度并将该值应用于所有其他元素,但我希望这些值都独立计算出来。我这样做的原因是当您将鼠标悬停在窗格上时,标题 div 的样式height:auto会显示 的内容.sS,然后在鼠标离开时,标题 div 的高度会恢复到跨度的高度。我希望这是有道理的,请查看该站点以了解我的意思。但是,悬停功能会生成正确的高度变化,但我希望页面以相同的方式加载。

提前致谢。

4

2 回答 2

0

我知道我哪里错了。我的each函数设置得非常好,问题在于它相对于cycle初始化的位置(它导致放置在它之后的脚本出现故障)。将cycle初始化放在我的块中(或至少在我的每个函数之后)按我的意图进行。如果有人在使用 Cycle 时看到此问题,请记下您的脚本的顺序,Cycle 最后!

于 2013-01-30T12:01:13.780 回答
0

也许试试...

$(".pane").each(function() {
    var tpheight =  $(this).find("span").outerHeight()
    $(this).find(".title").outerHeight(tpheight);
 })

另外,如果你正在设置css,它应该是......

 $(this).find(".title").css("height",tpheight)

不是......

$(this).find(".title").css({"height" : tpheight + "px"})
于 2013-01-19T01:09:44.593 回答