ロード中だけ”NowLoading"とか表示するには?

[上に] [前に] [次に]
なべぷ [E-Mail] 1998/07/02(木) 23:41:25
JavaScriptで、ロード中だけ"Now Loading"ってなかんじで表示させるにはどうすればいいんでしょう?
ロード終了を知らせるイベントなんて無いし...
Flash使えば簡単にできるけど、なるべくPlugInとか指定したくないし。

もう 1998/07/03(金) 01:13:08
画像の読み込みが完了したかどうかなら、
document.image.complete
を使えばわかりますよ。
http://www.tohoho-web.com/js/document.htm#Image
に書いてあります。
テキストの方は・・・IE4なら、

<SPAN ID=LOADING STYLE="display:"><H1>Now Loading<H1></SPAN>

(テーブルなどの時間のかかるもの)

<SCRIPT LANGUAGE=JavaScript>
<!--
LOADING.style.display = "none";
// -->
</SCRIPT>

とすればできると思います。
NN/NCで使えるかどうかはわかりません。
では。

Aurai 1998/07/03(金) 07:35:41
>ロード終了を知らせるイベントなんて無いし...
あれ、 onLoad は違いましたっけ?

Ywai [E-Mail] 1998/07/04(土) 17:00:28
以下の方法では、ページがロードされるまでの間、ドキュメント内に
"Now,Loading"のメッセージを表示します。NN/NC4,IE4対応です。
下位ブラウザでも表示させたいなら、ステータス行か、別フレームで
しょうか。onLoadイベント自体は NN2,IE3から使えます。

<HTML><HEAD>
<STYLE type="text/css"><!--
#loadmsg {position:absolute;font-size:20pt;color:red}
//--></STYLE>
<SCRIPT LANGUAGE="JavaScript"><!--
function msgHide(){
if(parseInt(navigator.appVersion)<=3) return;
var loadmsg;
if(navigator.appName=="Netscape") loadmsg = document.layers.loadmsg;
else loadmsg = document.all.loadmsg.style;
loadmsg.visibility = "hidden";
}
//--></SCRIPT>
</HEAD>
<BODY onLoad="msgHide()">
<SCRIPT LANGUAGE="JavaScript1.2"><!--
document.write("<DIV ID='loadmsg'>Now, Loading...</DIV>");
//--></SCRIPT>
</BODY></HTML>

なべぷ [E-Mail] 1998/07/05(日) 17:58:44
image.completeってのがあったんですねー。
それからLayerを使えばかっこよくできそうなんですけど、
業務でNN3で見れなくてはいけないのでだめなんです。
んで考え付いた方法は、
表示させたいページの前にNow Loadingって表示させるページを
用意して、そこで画像ファイルを先読みさせて、
読みこみが完了したら本来のページにジャンプする。
というものです。
とりあえず今のところはこれで動かしてます。
ちなみにonLoadはHTMLファイルの読み込みが完了したときであって、
そのページにある画像ファイルの読み込みは無視しちゃいます。

なべぷ [E-Mail] 1998/07/05(日) 18:06:27
[[解決]]
ちなみにさっきのページのソースはこんな感じです。
index.html
<HTML>
<HEAD>
<TITLE>Now Loading</TITLE>
<SCRIPT LANGUAGE="JavaScript1.1">
<!--
    var preloadlist;
    var onImages = new Array();

    function preload(){
        if (document.images){
            preloadlist = new Array("news.gif",
                                    "theme.gif",
                                    "member.gif",
                                    "tool.gif",
                                    "gallery.gif",
                                    "logo.gif");
            for (field in preloadlist){
                onImages[field] = new Image();
                onImages[field].src = preloadlist[field];
            }
            jump2org_page();
        }else{
         location.href="main.html";
        }
    }

    function jump2org_page(){
        var readflag = true;

        for (field in preloadlist){
            if (onImages[field].complete == false){
                readflag = false;
                break;
            }
        }
        if (readflag){
            location.href = "main.html";
        }else{
            setTimeout("jump2org_page()", 1000);
        }
    }
// -->
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#000000" onLoad="preload();">
<TABLE WIDTH="100%" HEIGHT="100%">
<TR><TD>
<CENTER>
<FONT COLOR="#ffffff">
Now Loading...
</FONT>
</CENTER>
</TD></TR>
</TABLE>
</BODY>
</HTML>

[上に] [前に] [次に]