Стоит задание составить расписание в виде html. Использовать можно только tr, td, rowspan, colspan. table должен быть только один
структура выглядит следующим образов
это все я сделал. вопрос в другом. если я добавляю человека в таблицу. и он к примеру занимает время с 14:10 до 14:45 то как это сделать? объединять как то ячейки или расширять текущую?
newdancer: если с 14:10, то уже не выйдет. Если с 14:15, то сначала пишем функцию по подсчету номера ячейки относительно времени, для 14:15 это число равно 14*4+1 = 57.
Берем и считаем то же для конечного времени - 14:45, получаем 59.
Затем удаляем 58-ую ячейку, 59-ую ячейку, считаем количество удаленных ячеек и прибавляем к этому единицу, число записываем как rowspan к 57 ячейке. получится rowspan="3".
Почему добавляем единицу? Потому что у нас есть 3 ячейки, их надо объединить. Раз есть три, значит нужно написать это число в rowspan. Поэтому, прибавляем к кол-ву удаленных ячеек ту, которая не удалена.
newdancer: https://jsfiddle.net/ktd1Lbcm/ я же писал, что лишние ячейки нужно удалять. Или, хотя бы скрывать, как в примере по ссылке. Еще у вас ошибка во втором столбце для Петрова - там colspan вместо rowspan. В первом столбце скрываем 4 ячейки после той, у которой rowspan=5, во втором столбце скрываем 6 ячеек, у которой colspan rowspan=7. Осталось только высоту ячеек устаканить, если css не работает, можно попробовать воткнуть.
Павел: спасибо. скажите только вот возникла трудность даже с вашим примером. почему если поставить параметр border="0 " то все таблицы начинаю съезжаться. по поводу размеров стоит только огласка что каждый блок 1 часа должен быть 100х100 пикселей
Можно задать для table, tr, td display:block
Для table position:relative
Для tr фикс высота, для неиспользуемых td display:none, для используемых position:absolute