4

私は私のウェブサイトのウィンドウアプリケーションに取り組んでいます。現在、サイトの本文に個々のウィンドウを として設定しています。body 要素の最後に文字通り適切なコードを追加して新しいウィンドウを追加し、その div を削除してウィンドウを削除します。(基礎となる JavaScript アーキテクチャに jQuery を使用しています。)

ウィンドウごとに、直接使用されない値を保存できるようにしたいことがわかりました。ウィンドウを最大化すると、元の位置とサイズを保存して、最大化を解除すると、ランダムな場所だけでなく元の位置に戻るとします。ここでの私の本当の質問は、このような情報を div ごとに保持することだけを目的としてカスタム CSS 属性を作成すること (ブラウザーがそれらを無視することを十分に認識している) は合法でしょうか? または、これは違法であり、別の代替手段を検討する必要がありますか?

システムが盲目的に実行できるように、これらすべてを配列に保持する方法には確かに精通していますが、それは素晴らしいことであり、エラーや物事が発生しやすく、それでも操作が少し難しいでしょう。

ありがとう

4

2 に答える 2

8

一時データを保存する代わりにjQueryのメソッドを使用します。data()

$('div#window').data('position', { x: 100, y: 200, width: 50, height: 50});
$('div#window').data('state', 'minimized');

参考文献

このデータを Cookie またはサーバー側のセッションに保存することで永続化し、ページの読み込み時にクライアントに復元することもできます。このようにして、ユーザーがページをリロードしても、ウィンドウの位置と状態が保持されます。

于 2009-04-02T20:35:34.873 に答える
7

jQuery には、これに対して というあまり知られていない機能がありdataます。これを使用すると、次のことができます。

$('#mydiv').data('position', {x: 150, y: 300});

// later
var position = $('#mydiv').data('position');

これが気に入らない場合は (非常に便利だと思いますが)、カスタム属性を使用することは間違いではありませんが、無効なコードになります。

于 2009-04-02T20:36:44.557 に答える