我正在构建一个网站,允许用户创建一个html页面,然后可以在另一个站点上保存和共享.我希望他们能够调整大小并拖动页面元素.我可以使用jQuery做到这一点,但我不知道如何保存它,以便在其他地方查看页面时,它看起来是一样的.
我还没有决定如何存储页面信息,但我想的是我可以将每个元素及其绝对位置和内容存储在数据库中.这听起来像个好计划吗?
如果是这样,我如何获得div的位置传递给PHP,以便它可以保存?
谢谢.
解决方法
JQueryUI Resizable有一个名为resize的事件,你可以使用它:
var resposition = ''; $('#divresize').resizable({ //options... resize: function(event,ui){ resposition = ui.position; } });
JQueryUI Draggable及其事件拖动也是如此:
var dragposition = ''; $('#divdrag').draggable({ // options... drag: funciton(event,ui){ dragposition = ui.position; } });
resposition和dragposition将是数组.你可以看到它在这里工作:http://jsbin.com/uvuzi5
编辑:使用表单,您可以将拖拽位置和重新定位保存到隐藏的输入中
var inputres = '<input type="hidden" id="resposition" value="'+resposition.left+','+resposition.top+'"/>' $('#myform').append(inputres); var inputdrag = '<input type="hidden" id="dragposition" value="'+dragposition.left+','+dragposition.top+'"/>' $('#myform').append(inputdrag);
$dragposition = $_GET['dragposition']; $resposition = $_GET['resposition']; $dragposition = explode(',',$dragposition); $resposition = explode(',$resposition);
最后,两个变量都应该是具有top和left属性的数组:
$dragposition => [top,left] attributes from draggable $resposition => [top,left] attributes from resizable