我使用jQuery UI Sortable对挑逗者进行排序。问题在于,有时候戏弄者包括不同数量的文本。 (红色是文本。)所以,如果有玩笑的多条线路出现这种情况: 但我想是这样的:
的玩笑应该有相同的高度,在该行的最高传情。给他们所有的高度是没有选择的。每行最大计数的玩笑总是3.jQuery UI一行中的可排序项目应具有相同的高度
有没有比测量每行最高挑逗的高度并在每次排序后用jQuery调整其他挑逗者的高度更简单的方法?
我使用jQuery UI Sortable对挑逗者进行排序。问题在于,有时候戏弄者包括不同数量的文本。 (红色是文本。)所以,如果有玩笑的多条线路出现这种情况: 但我想是这样的:
的玩笑应该有相同的高度,在该行的最高传情。给他们所有的高度是没有选择的。每行最大计数的玩笑总是3.jQuery UI一行中的可排序项目应具有相同的高度
有没有比测量每行最高挑逗的高度并在每次排序后用jQuery调整其他挑逗者的高度更简单的方法?
基于DevIshOnes回答这是我的解决方案:
var heights = [];
var tallest = [];
$('.teaser:not(.ui-sortable-placeholder)').each(function() {
$(this).height('auto');
heights.push($(this).height());
});
while (heights.length != 0) {
var line = heights.splice(0,3);
line.sort(function(a,b){return b-a});
tallest.push(line[0]);
}
$('.teaser').each(function (i) {
$(this).height(tallest[Math.floor(i/3)]);
});
要获得各行中最高传情我产生tallest
阵列,后来我用tallest[Math.floor(i/3)]
以获得每个传情正确的高度值。
$(function() {
$('li').addClass('teaser');
$('.sortable').sortable();
$('#fixHeights').click(function() {
var heights = [];
$('.teaser').each(function() {
heights.push($(this).height());
});
heights.sort();
var tallest = heights.pop();
alert(tallest); // optional
$('.teaser').each(function() {
$(this).height(tallest);
})
});
});
难道还有比测量每线最高传情 的高度和 后调整使用jQuery其他玩笑的高度每个排序更简单的方法?
简而言之,没有。