要构建类似界面的自定义门户,您可以使用放置在三列布局中的简单 HTML div 元素。例如
<ul id="col1">
<li><div id="portlet1">...content...</div></li>
<li><div id="portlet2">...content...</div></li>
</ul>
<ul id="col2">
<li><div id="portlet3">...content...</div></li>
<li><div id="portlet4">...content...</div></li>
</ul>
<ul id="col3">
<li><div id="portlet5">...content...</div></li>
<li><div id="portlet6">...content...</div></li>
</ul>
使用 JQuery sortable() API 并使用占位符值对所有li元素进行排序,该占位符值实际上显示了放置元素的位置。排序完成后,使用onDrop() API 保存每个小部件的位置。在这种情况下,您可以将其保存如下:
portlet1 -- 1,1 (row,column)
portlet2 -- 2,1
portlet3 -- 1,2
portlet4 -- 2,2
portlet3 -- 1,3
portlet3 -- 2,3
这些位置可以通过计算 DOM 中可排序元素的位置来获得。检索到这些位置后,可以将其保存在自定义数据库中,也可以在浏览器中离线保存(使用 HTML5 localStorage)。下次访问时,可以根据检索到的行和列值重新绘制 portlet。
希望这会有所帮助.. 可以在http://network.nature.com/workbench找到一个可行的示例(您需要注册并登录才能在重新定位后保存小部件)