我想在我的網站上做一個日曆。所以在我的C#代碼中,我製作了該日曆的所有表格單元格(我將它作爲一個html字符串返回到我的視圖中)。雖然這樣做,我檢查我的數據庫,看看是否有任何任務進入該單元格,並循環直到沒有任務離開。然後,我繼續前進到下一個單元格,並再次執行相同的操作。如果另一個絕對位置已經在該位置上,可以移動絕對位置?
但是有些任務會跨越一天,所以當我生成任務時,我會計算出它跨越多少天,並將圍繞該任務的任務劃分爲多個天,表格單元格。
但是爲了顯示這個跨越多天的div,我必須將所有這些div用css絕對地表示出來。否則,因爲我使用「CSS溢出」,任何不適合單元格的東西都會隱藏起來,所以如果我在這個div上有背景色,它將只顯示該單元格的背景顏色,因爲其餘部分會隱藏起來。所以即使寬度足夠長,它總是隱藏在下面。
所以通過使用「css絕對」,在同一個單元格中的所有任務只是堆積在一起。我發現如果我在每個div上放一個保證金頂,我可以避免這種打樁。然而,它不會幫助我解決下一個問題。
假設我有一項任務,跨越2天1月1日至1月2日。它的寬度恰好跨越2個單元格。
由於這個div有絕對的設置和橫跨2天。
http://img35.imageshack.us/img35/3808/screenshot001mo.jpg
此圖片顯示如何,如果它佔據2個日子裏會看。
現在他們去了1月2日再增加一項任務。這個任務將放置在1月1日和1月2日的任務的黃色背景之上,這使得1月1日的任務跨越到1月2日並不明顯。
http://img35.imageshack.us/img35/806/screenshot002ml.jpg
此圖片顯示了我添加了另一個任務,1月2日。如此重疊已經發生了,它很難說第一個任務跨越了兩天。現在想象一下,如果你不得不在兩天內完成2天的任務。
所以我需要一些方法來檢測這些碰撞或什麼東西,以便如果有東西佔據那個空間,它將它移動或者其他東西。
我希望是有道理的
你可以看到這個jQuery插件,我有點後造型雷。他們有些如何使任務不相互重疊。
http://arshaw.com/fullcalendar/
我使用了以下內容:
- asp.net的MVC
- C#
- jQuery的
- HTML
- CSS
由於這個原因,使日曆視圖很爛。您可能值得花時間看看是否可以找到適合您的某種插件。 – tybro0103 2010-01-02 07:10:58