我使用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其他玩笑的高度每個排序更簡單的方法?
簡而言之,沒有。