• 締切済み

サファリでポジション指定のJavascriptがうまく作動しません

詳しい方ぜひお力をお借りしたいのですが。 以前IE用で教えていただいたオンマウスでボックスを中央に配置する スクリプトを教えていただいたのですが、Safariですとこれがうまく 作動してくれません。IEではどんなモニタの大きさでもど真ん中にいくのですが、Safariですと左に寄ってしまうのです。 これをSafariでも正常に機能させるにはどのような記述にすればよいのかを考えていましたがうまくいかないので質問させていただきます。 function show( text ) { var el = document.getElementById( "box" ); document.getElementById( "text" ).innerHTML = text; el.style.visibility = 'hidden'; el.style.display = 'block'; var width = el.clientWidth; el.style.display = 'none'; el.style.visibility = 'visible'; el.style.left = ( document.body.clientWidth - width ) / 2 + document.body.scrollLeft; el.style.top = ( document.body.clientWidth - width ) / 4 + document.body.scrollTop; el.style.display = 'block'; } function hide() { var el = document.getElementById( "box" ); el.style.display = 'none'; } で、 el.style.left = ( document.body.clientWidth - width ) / 2 + document.body.scrollLeft; el.style.top = ( document.body.clientWidth - width ) / 4 + この部分でIEでは問題ないのですが、Safariでは機能しません。 どうかお助けください。 よろしくお願いいたします。

みんなの回答

回答No.1

未検証。(XHTMLが示されていない。また,Safariに限定される話ではなく,FirefoxやOperaにも影響する話のはずだが,その点がかかれていないので自信がない) (( document.body.clientWidth - width ) / 2 + document.body.scrollLeft).toString() + "px"; とか単位つけてみたらどうだろう。

gyrate
質問者

お礼

XHTMLなどはきちんと宣言していまして、上記のようにPXと単位を指定しましたところIE,SAFARI、OPERA,Firefoxできちんと同じように作動いたしました。ありがとうございました。 今後もこのような位置の指定などがある場合にはPXなどときちんと単位を指定していこうと思います。 アドバイスほんとうにありがとうございました。

関連するQ&A