thickbox を IE で正常に動作させる為の改造(スクロールすると中央に表示されない) | バクの悪夢は誰が食う?

バクの悪夢は誰が食う?

もやーっとしたブログを目指します!

あー苦労した。


ざくっと手段を書きますと、「thickbox.js」の関数 tb_position の処理をまるごと下記に置き換えます。



function tb_position() { // hot fixed for microsuck internet exploiter
jQuery("#TB_window").css({marginLeft: '-' + parseInt((TB_WIDTH /2),
10) + 'px', width: TB_WIDTH + 'px'});
var dtop=parseInt((TB_HEIGHT / 2),10);
var scrolledDown=0;
if(jQuery.browser.msie){//ie hax
if(document.body != null){
scrolledDown=document.body.scrollTop;
}
else if(document.documentElement != null){
scrolledDown = document.documentElement.scrollTop; //ie7
}
}
if(scrolledDown){
jQuery("#TB_window").css({marginTop: '+' + scrolledDown + 'px'});
}
else{
jQuery("#TB_window").css({marginTop: '-' + dtop + 'px'});
}
}



これだけで、スクロールした状態でも中央にウインドウを出してくれますです。