Я не смог найти решение этой проблемы, которое бы сработало для меня. Самым близким, что я нашел, было решение, которое работало, только если у вас был только 1 ряд. Я использую элемент управления календаря ASP.NET и хочу div в нижней части каждой ячейки даты. Решение, которое я придумал, состояло в том, чтобы JQuery угадал высоту самой большой ячейки и индивидуально установил поле margin для нижнего элемента div, чтобы он работал. locationInfo - это то, что нужно переместить в конец каждой ячейки. num_events находит количество записей, перечисленных выше в ячейке.
var line_height = 24; // line height plus padding
$(document).ready(function () {
// find out the most events in one day
var most_events = 0;
$(".locationInfo").each(function () {
// get number of events in this cell
var parent_td = $(this).parent();
var num_events = parent_td.children().length - 2;
if (num_events > most_events) {
most_events = num_events;
}
});
//alert(most_events);
// loop through each (location info) div and reposition by setting margin-top
// this could be improved further by finding the most_events for each week instead of the whole month
$(".locationInfo").each(function () {
//$(this).css("top", 50);
parent_td = $(this).parent();
num_events = parent_td.children().length - 2;
$(this).css("margin-top", (5 + (most_events * line_height)) - (num_events * line_height));
});
});