使用javascript保存框的坐标

时间:2014-01-22 15:36:10

标签: javascript jsplumb

这是我的jfiddle:http://jsfiddle.net/3HauW/78/

正如你所看到的,我有两个盒子,它们是可拖动的(使用jsPlumb)。当我点击“保存”按钮时,我希望能够保存他们所处的位置。我想要保存X和Y坐标,我该怎么做或接近这个?

我想存储它们,然后以XML格式发布到数据库(即x = 10,y = 10):

     <topY>10</topY>
     <leftX>10</leftX>

编辑:遏制遏制

3 个答案:

答案 0 :(得分:1)

要存储元素的所有css属性,请使用以下代码(迭代所有元素的代码并将它们存储在一个数组中,该数组可以转换为JSON并发送到服务器进行保存):

var str=$('#elem').attr("id") +","+ $('#elem').css("top") +","+ $('#elem').css("left") +","+ $('#elem').css("height") +","+ $('#elem').css("width");

现在,属性存储在由“,”分隔的单个字符串中。在重新使用分割字符串时使用:

var inf=str.split(",");

其中inf [0] = id_value,inf [1] = top_value,....,inf [4] = width_value。

答案 1 :(得分:0)

你需要什么似乎是jquery的.offset()功能。它为您提供元素相对于文档的位置。

答案 2 :(得分:0)

这是我在拖动时获取鼠标位置所做的。你可能需要做一点改动。

var top , left;
component.draggable({
  cursor: 'move',
  stop: function (event, ui) {
        top = ui.position.top;
        left =  ui.position.left;
  }
});

从此处您将获得一个对象的位置,以便您可以存储该对象以防止保存操作。 希望这对你有用。