各セクションのスライドショーを提供する為には、画面の表示を全て消去する必要があり、そのためにはdisplay:none
を使うか、またはremoveChild()
を使う必要があると思っていた。document.open()
で新しいルート要素を作る試みは、ブラウザによる挙動の違いにより断念。
どちらにしろ、全て消去するにはそれらを包括している要素について行うのが唯一現実的な方法であるのに対し、その要素は(私のマークアップでは)body
しかない為、display:none
は使えず、removeChild()
もそれをする前にセクション全てを配列に格納しなければならなかった。
しかし、スライドショー用のdiv
をbody
のfirstChild
に生成し、height
とoverflow:auto
を指定、そしてbody
には
と指定してやれば、生成したdiv以外にあたかも要素が存在しないかのように見えるという望みの結果が得られる。処理速度も格段に速い筈である。
visibility
overflow:hidden