2011-07-19 70 views
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然後天=週日,等...)

建議

+0

調用一個函數比訪問一個引用慢得多**。例如。 '$( 「#TABLEID」)'返回** **總是相同的 - 每showCoordinates'的'通話最少。 – Saxoier

回答

0

怎麼樣?

var days = ['Sat', 'Sun', 'Mon', 'Tues', 'Wed', 'Thu', 'Fri']; 
var selected = days[offset-1]; 
+0

感謝,完美地工作了幾天。時間轉換似乎更復雜... – Dhiraj

0

想通了,增加了以下計算時間(小時):分鐘(MI文字時間)

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

$("#displayCoordinates").html("Time: "+hours+":"+minutes+" | Day: "+selected+"</ br>);