プロが教えるわが家の防犯対策術!

<html><head>
<style type="text/css">
<!--
#loading {
position: absolute;/* ロード中に表示する文字列の絶対位置の設定(必須) */
top: 35%;/* 画面の上部からの文字の位置(必須) */
left: 45%;/* 画面の左側からの文字の位置(必須) */
font-style: italic;
font-family: Verdana;
}
-->
</style>
<script type="text/javascript">
<!--
document.write('<style type="text/css">#doc { visibility: hidden; }<\/style>');
document.write('<div id="loading">Now Loading...<\/div>');// ロード中に表示する文字列

var i = 0;
var ele = document.getElementById("loading");
var str = ele.firstChild.data;

function char_loop(ele, str) {
ele.innerHTML = str.substring(0, i++ % str.length + 1);
}
setInterval("char_loop(ele, str);", 100);

window.onload = function() {
ele.style.display = "none";
document.getElementById("doc").style.visibility = "visible";
}
// -->
</script>
</head>
<body>
<span id="doc">
ここに本文を表示
</span>
</body>
</html>


上のような、NewLoading... を作ってみたんですが、
画像のように表の内枠だけ残ってしまいます。
どうにかならないですかね。

ちなみにこの画像のURLは、↓こちらです。
http://shibaken.cool-biz.net/contents02.html

お願いします。

A 回答 (2件)

当方の環境 Firefox (3.6, linux) で見たところ問題なく表示されたのでよくわからないのですが、 <script> ... </script> を <body> と <span> の間に入れるのがよいと思います。

(document.write() を含む <script> は出力結果を埋め込みたい場所に書く。)

あと関係ないことですが、
中央に表示 text-align: center; width: 100%;
<div id="doc"> ... </div>が普通だと思います。
    • good
    • 0
この回答へのお礼

私もやってみたところ、Firefoxではできましたが、今使っている、Internet Explorer 8 では、<script> ... </script> を <body> と <span> の間に入れても、できませんでした。

ご回答、感謝しております。

お礼日時:2010/03/09 08:28

IEの場合、tdの罫線がhiddenの時にも表示されてしまうみたいですね。


(tableの罫線はちゃんと隠れるのに…)

ご提示のような使用法に限定して考えてよいのなら…
visibilityの代わりに、display属性で制御すれば全部隠れるます。
Operaではvisibility:hiddenにしてから、表示するとなぜか罫線が表示されないという事象が観測されました。

disiplay:noneの場合、レイアウトからもはずされてしまうので下にフッターなどを表示しておくような場合は、レイアウトを確保しておけるvisibilityのほうがよいかも。
その場合は、仕方がないので、テーブルのスタイルだけ後からスクリプトで設定するとかの方法でしょうか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!