2011-01-07 51 views
3

我有一個網頁,其中有三個<div>元素:拖動跌落及調整要素

包含若干佈局(無關,與這個問題)

Bottom_bar包含多個組件例如計算器,標誌,一組按鈕等,每個組件都使用<div>,並且必須是可調整大小和可拖動的。

還有一個工作區,其中所有組件都被丟棄&調整大小。另外,用戶可以調整&更改工作區中任何位置的組件位置。 用戶設置組件後,頁面必須以相同的樣式保存,即使刷新頁面後也不應更改。

我的問題是:

  1. 我應該使用一個數據庫來保存組件的位置。
  2. 我應該使用哪一個:jQuery/AJAX /其他?

如果你知道任何教程,請讓我知道,雖然我是JavaScript的初學者,基本上是一個Java程序員。

注意:在服務器端我使用Servlet。

+0

感謝Darko .... – Bibhaw 2011-01-07 05:29:44

回答

1
  1. 您可以做的是將控件的位置保存在xml中並將其保存在表中。

2.jquery UI具有作爲構建框架,支持拖放div元素,檢查此鏈接http://jqueryui.com/demos/droppable/

+2

感謝Cliffc,我剛剛通過這個JQuery鏈接,它只是講述了拖放操作,但每當刷新頁面元素時都會回到它的原點位置。 – Bibhaw 2011-01-07 05:28:24

2

每當用戶下降的元素,推出一個簡單的Ajax請求,將新的值傳遞給服務器。

try { 
    var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); // IE 
} 
catch(e) 
{ 
    var xmlhttp = new XMLHttpRequest(); // Other browsers 
} 
xmlhttp.open('GET', 'yourServerScript.url?param=value', true); 
xmlhttp.send(null); 

您可能要檢查,如果請求成功或處理您的HTTP請求的「readystatechange」事件失敗,但似乎你的情況並不重要。 之後,您只需獲取服務器端的值,將其存儲在會話變量中,然後在每次頁面加載時,檢查是否爲參數定義了會話變量,然後將其設置爲默認值。

1

我對應用程序做了同樣的事情。 (但我用PHP,反正也不要緊,你需要什麼)

  1. 我用的jQuery + jQuery UI的拖動&降/調整
  2. 我用AJAX與4個參數(X,Y,Z - 索引和元素的ID)&下降drag stop
  3. 我用XML作爲這個數據庫,但任何數據庫(或任何堅持的方式)將做的伎倆。正如@Thibault Witzig所說的,爲您的項目採取最恰當的措施。
+1

爲什麼你想把它保存到數據庫?這不是重要的信息,只顯示設置。如果需要長時間的持久性,Session + Cookie看起來很好。 – 2011-01-07 13:47:56