2011-01-07 79 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