jquery - 事件后使用 Jquery 均衡高度

标签 jquery height equals

我正在开发一个可以解析 RSS 提要并将其显示在一系列 div 中的网站。加载所有提要后,我想运行一个 jquery 函数,该函数基本上获取最高 div 的高度并将所有 div 设置为等于该高度。您可以在这里查看该网站:http://vitaminjdesign.com/adrian/

目前,我使用jquery equal heights plugin概述如下:

function equalHeight(group) {
    var tallest = 0;
    group.each(function() {
        var thisHeight = $(this).height();
        if(thisHeight > tallest) {
            tallest = thisHeight;
        }
    });
    group.height(tallest);
}

你可以这样调用它:

$(document).ready(function() {
$(".block").equalHeights(); 
});

这无法正常工作(它将所有 div 的高度设置为等于 rss feed 加载之前最高的 div 的高度),很可能是因为我需要使用实时事件处理程序?有人知道在所有内容完全加载后如何将高度设置为相等吗?

最佳答案

当 AJAX 完成时,您需要调用 equalHeight。您有两种选择:(a) 在每个项目加载后进行调用,或 (b) 在所有项目加载后进行一次调用。 equalHeight 看起来并不占用大量资源,因此您不妨每次都进行调用。

因此,只需将 equalHeight($(".block")); 添加到每个 AJAX 调用的 success 回调中即可。

$.ajax({
    url: 'someurl.rss',
    success: function(){
        // your code to insert the relevant content

        equalHeight($(".block")); // insert this at the end of each call to the RSS files
    }
});
<小时/>

或者,稍微更密集,但在代码方面更简单,是使用 ajaxSuccess在每次 AJAX 调用后运行一个函数:

$(document).ajaxSuccess(function(){
    equalHeight($(".block"));
});

关于jquery - 事件后使用 Jquery 均衡高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4800432/

相关文章:

javascript - 不使用按钮或 A 标签触发 Bootstrap Collapse 的方法?

jquery - Bootstrap 4 - Tabs 滑动效果

javascript - 如何使用 Angularjs 在加载时显示图像?

css - 简单的CSS高度问题

CSS 两个高度均为 100% 的嵌套 DIV 不起作用

java - 重载java中的equals方法

java - 是否应该在 equals 和 hashCode 中考虑 JPA 实体的 id 字段?

div 中缩略图图像的 jQuery 淡入 - 代码不起作用

javascript - 比较 : x == a is true, x == b 为 true,但 a == b 为 false

ios - UILabel根据长度ios自动调整高度