我正在开发一个解析RSS提要并在一系列div中显示它们的网站。在所有feed加载之后,我想运行一个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的高度设置为等于最高div 之前 rss Feed加载的高度),这很可能是因为我需要使用实时事件处理程序?任何人都知道如何在完成所有内容加载后将高度设置为相等?
答案 0 :(得分:4)
当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
}
});
或者,稍微强一点,但在代码方面更简单,就是在每次调用AJAX之后使用ajaxSuccess
来运行一个函数:
$(document).ajaxSuccess(function(){
equalHeight($(".block"));
});