Для создания пользовательских порталов, подобных интерфейсам, вы можете использовать простые 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 сортируемыми со значением placeholder , которое фактически показывает, куда отбрасывать элементы. После завершения сортировки используйте API onDrop () , чтобы сохранить местоположения для каждого виджета. В этом случае вы можете сохранить его следующим образом:
portlet1 -- 1,1 (row,column)
portlet2 -- 2,1
portlet3 -- 1,2
portlet4 -- 2,2
portlet3 -- 1,3
portlet3 -- 2,3
Эти позиции можно получить, рассчитав позиции сортируемых элементов в DOM. После извлечения этих позиций их можно сохранить в пользовательской базе данных или в автономном режиме в браузере (используя HTML5 localStorage). При следующем посещении портлеты могут быть перерисованы с полученными значениями строки и столбца.
Надеюсь, это поможет. Работоспособный пример можно найти по адресу http://network.nature.com/workbench (вам нужно зарегистрироваться и войти в систему, чтобы сохранить виджеты после их изменения)