Я построил сетку, а затем использовал следующую функцию showCoordinates для вычисления позиций в сетке перетаскиваемого элемента.Преобразование верхнего/левого смещения координат в день/время
function showCoordinates(divId)
{
var leftParent= $("#"+divId).parent().offset().left;
var topParent= $("#"+divId).parent().offset().top;
var left= $("#"+divId).offset().left;
var top= $("#"+divId).offset().top;
var leftTableParent =$("#tableId").parent().offset().left;
var topTableParent =$("#tableId").parent().offset().top;
var leftTable =$("#tableId").offset().left;
var topTable =$("#tableId").offset().top;
var cellWidth =160;
var cellHeight =120;
var offsetDifferenceTop =41;
var offsetDifferenceLeft = -84;
var actualLeft =left-offsetDifferenceLeft;
var actualTop =top-offsetDifferenceTop;
var cellRow =actualTop /cellHeight;
var cellColumn =actualLeft/cellWidth;
var Day = ??
var Time = ??
$("#displayCoordinates").html("cell row: "+cellRow+" | cell column: "+cellColumn+" | Time: "+Time+" | Day: "+Day+" <br />");
}
Я хотел бы, чтобы преобразовать координаты ячейки в день (7 дней - с воскресенья по субботу) и время (это может быть более сложным, Im думая день будет более простым, используя if..else заявления (если cellColumn =. 1, то день = воскресенье, и т.д ...)
Предложения
Вызов функции ** намного медленнее, чем доступ к ссылке. Например. '$ (" # tableId ")' возвращает ** всегда ** то же самое - по крайней мере за вызов 'showCoordinates'. – Saxoier