jQuery:Thickbox

jquery

長年の懸案だった、Thickboxが IEでうまく動かない件がやっと解決しました。それも自力で。エライね>自分。
懸案事項は次の2点。

  • 縦に長い画面で、下にスクロールしたところでウィンドウを出すと、画面中央に出ず、上の方に隠れてしまう。(画面TOPからの固定位置で表示される)
  • このような場合、画面と一緒にスクロールしてしまう

本来は、どのような状況でもウィンドウは画面中央にきて、スクロールは背面の画面がスクロールするだけでウィンドウの位置は変わらないというのが正しい挙動です。もちろん、オフィシャルサイトのデモはそういう動きをしています。
それがどうしておかしくなるかというと、DOCTYPEの「標準モード」と「互換モード」の違いでした。



上が互換モードで、下が標準モードです。
Thickboxを互換モードで動かそうとすると、IEに限って、上のような現象に遭遇します。Firefoxとか Chromeは大丈夫なのが現象をわかりづらくしてますね。