2013-02-14 81 views
0

我有一個網站,我正在爲它製作小部件。這些小部件是可拖動的。我想知道如何保存小部件的位置(如果它隱藏或不是[禁用或啓用]),並加載位置,並且當您再次加入網站時隱藏或不隱藏(使用同一用戶) 。謝謝你的時間,如果你不明白我需要什麼,請發表評論。保存draggable div的位置jQuery

+0

當然可以。你需要將所有數據放在一個數據庫中(或者在發佈之前等待幾秒鐘,以防他們在很短的時間內移動很多數據),將其保存在用戶記錄中,然後將它們放在正確的位置下次放置。 – Popnoodles 2013-02-14 23:06:16

+0

你能舉個例子嗎?我會把它保存在數據庫中,用他們的用戶名綁定,然後檢索它,或者其他的東西?謝謝 – Beaurocks16 2013-02-14 23:07:26

+0

一個例子是相當多的要問。你會被問到「你有什麼嘗試。」我可以給你的邏輯。是的,你會在他們登錄或查看頁面時檢索它 – Popnoodles 2013-02-14 23:07:42

回答

2

我假設你的微件在<ul>,一個<li>每插件這是很正常的。

能夠將它們
你需要擺在首位的特定順序安排部件的位置。想象一下,您已經完成了艱苦的工作並獲得了用戶所擁有的數據。硬編碼並讓你的模塊正確顯示。更改數據,查看模塊是否按預期顯示。
用戶需要拖動它們。 jQuery可拖動是你的朋友。

證明你可以得到你的數據
能夠獲得從窗口小部件的順序,他們已經轉移了。可拖動的示例顯示了.serialize()函數。
此外,您還需要知道哪些關閉,哪些關閉。您可以使用jQuery .map()創建另一個列表,如果您問得好,可以返回它們的ID和狀態。
屏幕提示,寫入文檔或最好使用console.log()

互動與服務器
如果你想只用餅乾,因爲瀏覽器可以設置這些測試可以跳過此。
但是,如果您希望將用戶的信息存儲在註銷的情況下,請啓動新的會話或使用另一臺需要使用數據庫的計算機。
您需要了解如何使用ajax將數據從瀏覽器發送到服務器。 jQuery是你的朋友。
您需要了解如何將用戶信息存儲在數據庫中。

恢復位置
您希望能夠從一個沒有硬編碼列表設置部件的位置,所以能夠使用數據正確排序在頁面加載的小部件,你保存。你在第一步做到了這一點,但是使用了硬編碼數據。

0

您將需要做的是:
保存給定時間的狀態。例如,當你改變它。

$('#toBeDragableId').draggable({ 
    // options... 
    drag: funciton(event,ui){ 
     theUserposition = ui.position; 
    } 
}); 

您需要保存theUserposition以一致的方式,如數據庫或使用cookie或客戶端存儲。之後,您需要將其恢復並在加載頁面時進行設置。

Similar Question
Example using Cookies

+0

謝謝。在將它保存在用戶位置後,我會用什麼來加載位置? – Beaurocks16 2013-02-14 23:11:05

+0

你將不得不恢復它並設置它。 (手動設置位置=> http://stackoverflow.com/questions/7664945/set-position-of-draggable-div) – 2013-02-14 23:12:23

+0

關於如何恢復它,它確實取決於你在哪裏存儲它:) – 2013-02-14 23:12:41