jquery - 根据行数计算元素的高度

标签 jquery

我有一个元素,其高度是根据其内容计算的(ul)。目前,ul 有两行,每行包含三个项目。我使用以下 CSS 设置 .element 在屏幕上的位置;

.element {
position: absolute;
left: 30px;
top: -139px;
}

此标记为

<div class="element">
    <ul>
        <li><img src="#" />Model</li>
        <li><img src="#" />Model</li>
        <li><img src="#" />Model</li>
        <li><img src="#" />Model</li>
        <li><img src="#" />Model</li>
        <li><img src="#" />Model</li>
    </ul>
</div>

将来需要向 ul 添加第三行,这意味着我使用的 top 定位将隐藏这个新行(作为元素 div位于另一个 div 之上),这远非理想。

我认为我需要使用 jQuery 来完成此操作,因此无论添加多少行,我都不需要更改 CSS 来解决此问题。

到目前为止我所拥有的 WIP jQuery 看起来像:

var elemImgHeight = $('.element li img').height();
var toggles = $('.element li');
var numOfRows = math.ceil( toggles.length() / 3 );
var elemTopOffset = numOfRows * elemImgHeight + 10;

    if ($('.element li') => 7) {
        $('.element').css({ top:elemTopOffset })
    }

我不确定我是否走在正确的轨道上,所以可以提供一些指导吗?

提前致谢。

最佳答案

简单...假设您有以下 html 结构:

<div class="element">
    <ul>
        <li><img src="#" />Model</li>
        <li><img src="#" />Model</li>
        <li><img src="#" />Model</li>
        <li><img src="#" />Model</li>
        <li><img src="#" />Model</li>
        <li><img src="#" />Model</li>
        <li><img src="#" />Model</li>
    </ul>
</div>​​​​​​​

并且您想要计算顶部位置,以便仅显示最后一个 li 元素... 使用这个:

var theElement = $(".element");
var topPosition = theElement.find("ul li:last").outerHeight()-theElement.outerHeight();
theElement.css("top",topPosition);

示例位于此处:http://jsfiddle.net/senegalo/eEya4/2/

关于jquery - 根据行数计算元素的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13515860/

相关文章:

javascript - 使用jquery获取html文件中&lt;style&gt;标签内的所有内容

javascript - 提交时不通过自定义标签收集数据

Javascript 和 JQuery 问题 - 抓取 YouTube 数据并将其写入页面

jquery - allow-control-allow-origin : * present in response, 但它仍然显示错误

jquery - 以编程方式将所选选项添加到 Select2 中

子元素上的 JavaScript 事件处理程序

javascript - 需要 jQuery 方法在按钮单击后重定向 - ASP.NET、VB.NET、jQuery、Javascript

javascript - Selectize.js 手动添加一些项目

javascript - 数据表类型错误: f is undefined

javascript - 在 ion-slide 中设置不同的 html 文件