Twitter Bootstrapを使用して、動的に応答する週のカレンダーを作成しています。
これが私の現在の実装です: http://jsfiddle.net/dvirazulay/Lhe7C/ (ここに完全に貼り付けるには少し長かった)
そして、これが現在のスクリーンショットです。
私が達成しようとしているのは、完全に動的な設計です。バックエンドから初期ビューを生成することは問題ではありませんが、現在の実装ではテーブルを使用しているため、少し複雑です。JavaScript側でそれを維持するのは難しいのではないかと心配しています。つまり、イベントをその場で削除/追加します。
明らかに、私は理にかなったテーブルを選びました - 週のカレンダーは基本的にテーブルです。私のデザインについて説明します。
- イベントは 30 分以上に及ぶ場合があるため、
rowspan
何時間続くかを定義するために使用します。 - 2 つのイベントが競合している可能性があります (2 つ以上は許可しません)。現在設定されているように、それらは互いに隣り合って表示され、それぞれがイベントの幅の 50% を占め、終了時間を表すために必要なだけの高さを取ります。
- バックエンド側で
td
は、テーブルの最後に余分な列がないようにするためにスキップする必要がある数を計算します (rowspan
一部を右に押します)。
私の質問は次のとおりです。
- これは正しいアプローチですか?
- 同じバックエンド ロジックをフロントエンドに適用し、イベントの量に応じて表示する
tr
/の量を再計算する必要がありますか、それともより良い解決策がありますか?td
理想的には、適切な回答は、フロントエンド側でイベントを複雑に処理する方法や、この問題に対する代替 (レスポンシブ!) 設計を説明する必要があります。
複数のプラグインを検索して試したので、既存のプラグインを使用したくありません。また、これを非常に軽量に保ちたいのですが、要件を満たす素晴らしい提案があれば、確認したいと思います。それを!(たとえば、jQuery の週カレンダーは遅すぎて雑然としています)
注: IE9 より古いブラウザーをサポートするつもりはありません。