2

管理者ユーザーがサイトにログインしたときに表示されるツールパレットがあります。パレットは(jQueryUI.draggableを介して)ドラッグ可能であり、ページ/更新間の位置を記憶したいのですが...これを行う標準的な方法、または使用する必要のあるプラグインがありますか、それとも必要ですか? (クッキーなどを介して)自分でロールしますか?

4

3 に答える 3

4

クッキーは素晴らしいオプションです-あなたはこのようなPPKによる機能を使うことができます:

$('#palette')
     .css({ top: readCookie("palletteY")*1, left: readCookie("palletteX")*1 })
     .draggable({ stop: function (event, ui) {
         createCookie("palletteX", ui.position.left, 100);
         createCookie("palletteY", ui.position.top, 100);
     } });
于 2009-08-25T13:34:26.413 に答える
1

私はこれを行うためのプラグインや標準を知りませんが(存在する可能性はありますが)、とにかくそれほど複雑な操作ではありません。クッキーはそれを達成する一つの方法です。

このタイプのクライアント側の状態を保存するための私の好ましい方法は、Ajaxを介して新しい状態をサーバーに配信するコールバック関数を設定することです。そうすれば、好きなようにできます。通常はセッションに保存しますが、特定のものを永続的に保持する必要があると判断し、セッションからデータベースに移動する場合があります。このサーバー側に保存しておくと、簡単に変更を加えることができます。まず、Ajaxコールバックを介してセッションに保存し、ページロードで取得することをお勧めします。

于 2009-08-25T13:30:27.230 に答える
1

クッキーは良い解決策だと思います。ここにはjquerycookieプラグインもあります。停止イベントのCookieに座標を保存できます。ページが変更されたら、Cookieが存在するかどうかを確認し、存在する場合はドラッグ可能なCSSを変更します。

サーバーのデータベースに保存することもできますが、それは私には少しやり過ぎのようです。スキーマを変更する必要があるためです。

Kevinは、アンロードイベントを使用して座標を保存することを提案しました。このように、ドラッグが停止するたびにCookieに書き込む必要はありません。

于 2009-08-25T13:32:58.893 に答える