我试图通过Isotope,无限滚动和Packery的组合将容器的高度设置为容器高度内的最后一个子容器。这是我在代码中基本拥有的内容。
<html>
<div id="container" class="variable-sizes isotope" style="position: relative; overflow: hidden;">
<div class="isoItem isotope-item" style="position: absolute; height: 0px; left: 0px; top: 0px;"> </div>
<div class="isoItem" style="position: absolute; left: 0px; top: 0px;"></div>
<div class="isoItem" style="position: absolute; left: 340px; top: 0px;"></div>
<div class="isoItem" style="position: absolute; left: 680px; top: 0px;"></div>
<div class="isoItem" style="position: absolute; left: 1020px; top: 0px;"></div>
<div class="isoItem" style="position: absolute; left: 1190px; top: 0px;"></div>
<div class="isoItem" style="position: absolute; left: 1360px; top: 2089px;"></div>
</div>
</html>
这样的事情就是我想要实现的目标:
$('#container').css('height', $('.isoItem:last').css('top') + '317px');
在这种情况下,#container
高度将设置为2089px + 317px = 2415px
任何帮助将不胜感激。
答案 0 :(得分:0)
请改为尝试:
$('#container').height( (parseInt( $('.isoItem:last').css('top'), 10) + 317) );
为什么?
$('.isoItem:last').css('top')
返回带有单位的值,例如px,因此您无法对其进行直接数学运算。首先通过parseInt()
将其转换为interget,然后添加317(当jQuery自动使用+ 'px'
时,无需附加.height()
。