🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: fj.lang.javascript
3 messages
3 total messages Started by masato yamada Sat, 21 Feb 1998 00:00
[Q] sound and Graphic
#66
Author: masato yamada
Date: Sat, 21 Feb 1998 00:00
66 lines
2217 bytes

ボタンを押すと、音が出て、画像表示が変わる
JavaScriptを作りたいのですが

1.ボタンを押す毎に、音を出して画像表示変える。
2.7枚以上になると、アラート(表示・音)を出す。

下記のScriptでは、音は出るのですが画像が表示されません。
(音の所を削除すると、画像はうまく表示されます。)

何方か、教えて頂けないでしょうか。
よろしく、お願い致します。

--------------------サンプル---------------------------
<HTML>
<HEAD>
<TITLE>test</TITLE>
<SCRIPT Language="JavaScript">
<!--
Num = 0
maxPage = 6;
function next()
{
        Num = Num + 1;
        if (Num > maxPage) { Num = maxPage;
        alert("\n 「これ以上、進めません!」");
        document.write("<EMBED SRC='midi/stop.mov' HIDDEN LOOP=FLASGH AUTOPLAY=TRUE>");}

        document.myImage.src = "pict/"+Num+".jpg";
        document.write("<EMBED SRC='midi/fow.mov' HIDDEN LOOP=FLASGH AUTOPLAY=TRUE>");
}
function prev()
{
        Num = Num -1;
        if (Num < 0) { Num = 0;
        alert("\n 「これ以上、戻れません!」");
        document.write("<EMBED SRC='midi/stop.mov' HIDDEN LOOP=FLASGH AUTOPLAY=TRUE>");}

        document.myImage.src = "pict/"+Num+".jpg";
        document.write("<EMBED SRC='midi/rev.mov' HIDDEN LOOP=FLASGH AUTOPLAY=TRUE>");
}
// -->
</SCRIPT>
</HEAD>

<BODY>
<CENTER>

<FORM NAME="myForm1">
<INPUT TYPE="button" VALUE="戻る" onClick="prev()">
<INPUT TYPE="button" VALUE="進む" onClick="next()">
</FORM>

<TABLE>
<TR><TD> 
<IMG SRC="pict/0.jpg" width="347" height="480" NAME="myImage">
</TD></TR>
</TABLE>

</CENTER>
</BODY>
</HTML>
------------------ここまで-----------------------------

山田 正人 masaya@mitene.or.jp
Re: [Q] sound and Graphic
#69
Author: Satoshi Kudoh
Date: Mon, 23 Feb 1998 00:00
83 lines
3142 bytes
In article <B1146036966832C7@mxoba133.mitene.or.jp>, masaya@mitene.or.jp
(masato yamada) wrote:

>ボタンを押すと、音が出て、画像表示が変わる
>JavaScriptを作りたいのですが
>
>1.ボタンを押す毎に、音を出して画像表示変える。
>2.7枚以上になると、アラート(表示・音)を出す。
>
>下記のScriptでは、音は出るのですが画像が表示されません。
>(音の所を削除すると、画像はうまく表示されます。)

document.write()はHTMLの生成に使えますが,注意が必要です。

下記のようなHTML & JavaScriptなら正常に表示できます。
これは,function hoge()の出力する文字列"hoge hoge"が,
(1)の部分を置き換えることになり,結果として正しいHTMLが
出来上がるからです。

<html>
<head>
....
<script language="JavaScript">
    function hoge() {
        document.write ("hoge hoge");
    }
</script>
....
</head>
<body>
...
<script language="JavaScript">
    hoge();  // ----- (1)
</script>
...
</body>
</html>

問題のscriptでは,ブラウザによるHTMLの解釈が全て完了したあとで
document.write()が発行されます。この場合,表示中のHTMLはwrite()した
内容で置き換えられます(Netscape Navigatorの場合)。

置き換えられる文字列がちゃんとしたHTMLなら問題はないのですが,
>        document.myImage.src = "pict/"+Num+".jpg";
>        document.write("<EMBED SRC='midi/fow.mov'...");
と,あるとおり,完全なHTMLには程遠いものを表示しようとしています。

document.write()はブラウザがHTMLを解釈している最中に使わないと
効果がない,と考えてよろしいかと思います。HTMLを全部表示した後に
document.write()が実行されれば,そのときのdocumentの内容
(すなわちHTML)は破棄されますから。
自分自信を複製できるノイマン・マシンみたいなJavaScriptを用意
しないと,document.write()を発行しているJavaScriptも消えます。

どうしても動的にHTMLを変更したいなら,<layer>タグでレイヤーを
ひとつ追加して,そのレイヤーに対してdocument.write()すれば,
実現は可能です。ただし利用できるブラウザが限定されます。

<html>
<head>
...
<script language="JavaScript">
    function writeMidi() {
        with (document.midi.document) {
            open();
            write ("<embed ...>");
            close();
        }
    }
</script>
...
</head>
<body>
....
<form><input type=button value="test" onClick="writeMidi()"></form>
<layer name="midi">
</layer>
</body>
</html>
______________________________________
  Satoshi Kudoh <kudo3104@ics.co.jp>
__________ Frame-G DSP ICS Co., Ltd.__
Re: [Q] sound and Graphic
#70
Author: masato yamada
Date: Tue, 24 Feb 1998 00:00
35 lines
2159 bytes
In article <kudo3104-2302981330590001@island.ics.co.jp>,
kudo3104@ics.co.jp (Satoshi Kudoh) wrote:

>Subject: Re: [Q] sound and Graphic
>From: Satoshi Kudoh

>問題のscriptでは,ブラウザによるHTMLの解釈が全て完了したあとで
>document.write()が発行されます。この場合,表示中のHTMLはwrite()した
>内容で置き換えられます(Netscape Navigatorの場合)。
>
>置き換えられる文字列がちゃんとしたHTMLなら問題はないのですが,
>>        document.myImage.src = "pict/"+Num+".jpg";
>>        document.write("<EMBED SRC='midi/fow.mov'...");
>と,あるとおり,完全なHTMLには程遠いものを表示しようとしています。
>
>document.write()はブラウザがHTMLを解釈している最中に使わないと
>効果がない,と考えてよろしいかと思います。HTMLを全部表示した後に
>document.write()が実行されれば,そのときのdocumentの内容
>(すなわちHTML)は破棄されますから。
>自分自信を複製できるノイマン・マシンみたいなJavaScriptを用意
>しないと,document.write()を発行しているJavaScriptも消えます。
>
>どうしても動的にHTMLを変更したいなら,<layer>タグでレイヤーを
>ひとつ追加して,そのレイヤーに対してdocument.write()すれば,
>実現は可能です。ただし利用できるブラウザが限定されます。

フォローありがとう御座います。
JavaScriptをはじめて、一ヶ月の初心者ですので、
無茶苦茶なScriptを書いていた見たいですね。
今後ともよろしくお願い致します。

山田 正人
masaya@mitene.or.jp
http://www.mitene.or.jp/~masaya/
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads