2012-01-01 14 views
3

私はチャートとグリッドを持っていますが、前者はいくつかのチェックボックスをクリックすることで非表示にすることができます。誰もがメタコードを思いついて、それを実行するための最も実践的なアプローチを実証できますか?私は 'Show Grid'の設定が変更されるたびにキャンバス全体を再描画する以外には何も見えません。Html5キャンバスを再描画する

答えて

3

2つのキャンバスノードを使用できます。 1つはグラフ用、もう1つはグリッド用です。

次に、グリッド要素を非表示(style.display = "none")または表示(style.display = "block")することができます。

キャンバスピクセルにはアルファが含まれているため、完全に透明にすることができます(これは実際にはキャンバスが作成されたときのデフォルトです)。したがって、グリッドからグラフを見ることができます。

+0

おかげさまで、より複雑なシナリオについては、私はいくつかの「ダイナミック」領域を持っていれば、それぞれの「ダイナミック」な未来のために専用のキャンバスを持つのは残酷ではないでしょうか?パフォーマンスを損なうことなくいくつのキャンバスを重ねることができますか? –

+0

ブラウザは、何百ものキャンバス要素を管理するのにかなり良いです。キャンバスと ''ノードの間にブラウザグラフィックエンジンの違いはあまりありません。通常、ウェブページには多くの画像が表示されます。また、非表示/表示はアニメーションではなく、ユーザーとのやりとりに対する反応のみになるため、携帯電話やタブレットのような強力でないデバイスでも速度は問題ではありません。 – 6502

関連する問題