canvasと通常エレメントの併用
Tuesday, February 12, 2008 8:18:03 AM
Opera Widjetとして実行する場合、
canvasの上にdivを重ねると、divを消した後、canvasが描画されなくなるというバグがあります。
DabWatchでは時計部分にcanvas、カレンダー部分や設定ダイアログにdivを使用していますが、設定ダイアログが必ず時計に重なります。
DabWatchでは、このバグに対応するため、
設定ダイアログを出す直前にcanvasのタイマーを止め、canvasのポジションを
style.left=-width+'px'
に移動させています。
設定ダイアログの左端が 0 なので、ちょうど画面の外の重ならない位置にあるというわけです。
で、設定ダイアログを閉じた直後にcanvasを元の位置に戻し、タイマーを動作させています。
通常のウェブページでは問題なく描画されます。
canvasの上にdivを重ねると、divを消した後、canvasが描画されなくなるというバグがあります。
DabWatchでは時計部分にcanvas、カレンダー部分や設定ダイアログにdivを使用していますが、設定ダイアログが必ず時計に重なります。
DabWatchでは、このバグに対応するため、
設定ダイアログを出す直前にcanvasのタイマーを止め、canvasのポジションを
style.left=-width+'px'
に移動させています。
設定ダイアログの左端が 0 なので、ちょうど画面の外の重ならない位置にあるというわけです。
で、設定ダイアログを閉じた直後にcanvasを元の位置に戻し、タイマーを動作させています。
通常のウェブページでは問題なく描画されます。











