2016-04-29 94 views
0

我正在用Javascript構建一個小型屬性編輯器。我有一個包含一些屬性(x,y,寬度,高度)的對象列表,用於在div內繪製「<div>」。我正在製作,以便用戶可以拖動圖片/ div。如何將DOM對象附加到div(propertyeditor)

所有這些對象都在列表中,然後遍歷列表並呈現視圖。在視圖旁邊,我有一個帶有屬性的小編輯器。我可以將多個這些元素添加到編輯器/查看器和不同類型(文本和圖像,以及將來可能還有其他的東西)。

enter image description here

我的問題是這樣的:

如何讓這個對「第一/頂部」框編輯屬性時(如X座標),它僅更新相應的對象在列表中(不在視圖中,視圖只是從對象列表中呈現)。我在運行時添加所有這些,並且我沒有往返服務器。每個項目上都有一個保存按鈕,我很酷。

回答

0

創建元素和創建屬性編輯器時,您可以遵循一些命名模式。例如,當點擊新圖像元素按鈕時,創建id爲id:el_img_01的圖像元素,併爲id:el_img_prop_01創建相應圖像元素的屬性編輯器。

因此對於所有圖像都會有(el_img_,el_img_prop_),爲了知道屬性編輯器的img元素,我們可以讀取屬性編輯器id,並從id中刪除'prop'文本以獲得關聯DOM元素。這裏

+0

所以這個想法是在編輯器和列表中的對象上都有一個ID。然後從edítor保存時,我發現列表中的對象,並分配編輯器的所有屬性? –

+0

是的..好吧..和id將按照這樣的方式遵循一個模式,從元素id我們將能夠得到屬性編輯器,也是列表的索引。所有元素將遵循el_img_ ,所有屬性編輯器將遵循el_img_prop_ 。如果你得到一個id,el_img_prop_01表示列表中的第一個元素。 –

0

幾個步驟:

  1. 您需要一種方法來識別元素,例如,一個 id
  2. 你必須能夠選擇一個元素,並知道它的 它。例如,您可以輸入一個包含所有idselect
  3. 現在你可以選擇元素,你只需要加載/保存 從你的form的值。