要构建类似门户的自定义界面,您可以使用放置在三列布局中的简单 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 并使用 placeholder 值对所有 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 找到一个可行的示例(您需要注册并登录才能在重新定位后保存小部件)