1

我构建了一个网格,然后使用以下“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 天 - 星期日到星期六)和时间(这可能更复杂。我认为使用 if..else 语句会更简单(如果 cellColumn = 1 然后 Day = Sunday 等) ...)

建议?

4

2 回答 2

0

想通了,添加以下以小时为单位计算时间:分钟(军事时间)

var totalMinutes = cellRow * 60;   
var hours = Math.floor(totalMinutes / 60);
var minutes = totalMinutes % 60;  

$("#displayCoordinates").html("Time: "+hours+":"+minutes+" | Day: "+selected+"</ br> );
于 2011-07-20T10:04:40.103 回答
0

怎么样:

var days = ['Sat', 'Sun', 'Mon', 'Tues', 'Wed', 'Thu', 'Fri'];
var selected = days[offset-1];
于 2011-07-19T03:11:42.670 回答