Как использовать перетаскиваемые разделы, как в iGoogle?

При просмотре iGoogle каждый раздел можно перетащить в любое место на странице, а затем сохранить состояние страницы. Мне интересно, как это сделать, так как я хотел бы предоставить эту функциональность как часть концепции?

ОБНОВИТЬ

Как сделать так, чтобы измененный макет был сохранен для следующей загрузки? Я собираюсь догадаться, что это какое-то печенье?

5 ответов

Решение

Любая современная клиентская среда даст такую ​​функциональность.

Просто назвать несколько...

Что касается "сохранения" (постоянства, если хотите) данных, это зависит от серверной части вашего сайта, но обычно это делается посредством асинхронного вызова сервера, который сохраняет состояние в БД (обычно).

Я не хочу давать краткий ответ на этот вопрос, но есть несколько десятков различных библиотек JavaScript, которые предоставляют такую ​​функциональность, а также множество руководств и руководств, доступных в Google:

http://www.google.com/search?q=javascript+draggable

Некоторые библиотеки / фреймворки JavaScript, на которые вы можете взглянуть:

Это удивительно просто с JQuery. Проверьте эту запись в блоге на эту тему.

Изменить: я пропустил часть вопроса "состояние страницы сохранено", когда я ответил. Эта часть будет сильно отличаться в зависимости от структуры вашего приложения. Вам нужно как-то хранить состояние страницы, и это будет зависеть от пользователя. Если вы не возражаете заставлять пользователя восстанавливать свои предпочтения каждый раз, когда он очищает свой кеш-файл cookie, вы можете сохранить состояние с помощью cookie-файла.

Я не знаю, как структурировано ваше приложение, поэтому я не могу вносить дальнейшие предложения, но сохранение cookie в jQuery также удивительно просто. Первая часть этой записи блога расскажет вам почти все, что вам нужно знать.

Один из методов, не упомянутых здесь, заключается в том, что начиная с ASP.NET в среде 2.0, Microsoft представила нечто, называемое WebParts, которое позволило создавать элементы управления, которые можно перетаскивать и размещать таким же образом. Предполагалось, что это будет простой способ для пользователей создавать свои собственные порталы в стиле Web 2.0.

Другие вопросы по тегам