• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JavaScriptでセンター表示で行き詰まってしまいました。)

JavaScriptでセンター表示で行き詰まってしまいました

このQ&Aのポイント
  • JavaScriptでセンター表示がうまくできない問題が発生しています。
  • 特にFirefoxでは画面の左上端に表示されてしまいます。
  • センター表示の方法や常に画面のセンターに表示する方法について教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • kuzumiHK
  • ベストアンサー率72% (132/183)
回答No.1

こんな感じでしょうか。 まず、firefoxでセンターにならなかった理由は、数値の後に+"px"がなかったからです。 また、先にmojiをdovument.writeして、spanの幅を取得して、 取得した画面サイズの半分から、spanの幅の半分を引いた数値を、位置情報にしていますので、 画面サイズが変わると1秒以内(setTimeoutが1000の場合)にセンターに移動します。 ※document.layers対応ブラウザは環境がないため未確認です。IE6とSafariも未確認。 function tokei() { a=new Date(); b=a.getFullYear(); c=a.getMonth(); d=a.getDate(); e=a.getHours(); f=a.getMinutes(); g=a.getSeconds(); if(c<10)c="0"+c; if(d<10)d="0"+d; if(e<10)e="0"+e; if(f<10)f="0"+f; if(g<10)g="0"+g; moji="<strong>"+b+"."+c+"."+d+" "+e+":"+f+":"+g+"</strong>"; if(document.layers) { document.layers["lay0"].document.open(); document.layers["lay0"].document.write(moji); document.layers["lay0"].document.close(); my_width = document.layers["lay0"].offsetWidth; my_height = document.layers["lay0"].offsetHeight; x_iti=innerWidth / 2 - my_width / 2; y_iti=innerHeight / 2 - my_height / 2; document.layers["lay0"].moveTo(x_iti,y_iti); } else if((document.getElementById) && (!document.all)) { document.getElementById("lay0").innerHTML=moji; my_width = document.getElementById("lay0").offsetWidth; my_height = document.getElementById("lay0").offsetHeight; x_iti=innerWidth / 2 - my_width / 2; y_iti=innerHeight / 2 - my_height / 2; document.getElementById("lay0").style.left=x_iti+"px"; document.getElementById("lay0").style.top=y_iti+"px"; } else if(document.all) { document.all("lay0").innerHTML=moji; my_width = document.all("lay0").offsetWidth; my_height = document.all("lay0").offsetHeight; x_iti=document.documentElement.clientWidth / 2 - my_width / 2; y_iti=document.documentElement.clientHeight / 2 - my_height / 2; document.all("lay0").style.pixelLeft=x_iti; document.all("lay0").style.pixelTop=y_iti; } clearTimeout(g); g=setTimeout('tokei()',1000); }

hibishoujin
質問者

お礼

おはようございます。 早速のご回答ありがとうございます。 早速試してみたところ、完璧!です! 1秒後に...なるほど。 firefox,safari,確認が取れました。windowsのIEでもこれから試してみます。 自分の力だけではどうにもならないですね。 お力添えありがとうございました。 またご縁がありましたらよろしくお願いいたします。