OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

小窓をだしてMIDIを流すのですが。

  • 困ってます
  • 質問No.183954
  • 閲覧数52
  • ありがとう数1
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 86% (59/68)

 自分のホームページでMIDIのコンテンツを作ろうと思ってます。
 で、曲名の後ろの「試聴」のボタン(画像)を押したら、小窓が出てその曲名のMIDIがなるようにしたいのです。
 Aの曲の試聴ボタンを押せば、小窓はAのMIDIが鳴り、Bの曲の試聴ボタンを押せばBのMIDIが鳴るという感じです。(小窓は複数出さないです)
 こういうjavascriptは、さがしたらいくつかあったのですが、ここからが問題。私が今までみたものはすべて、小窓は別のHTMLファイルを用意しています。Aの試聴ボタンを押したら、Aのmidiを鳴らすためのHTMLファイルへリンクしてるのですよ。もし、10曲試聴してもらおうとしたら、10個のHTMLファイルを用意しなくてはいけないわけです。
 私が、欲しいなぁ・・・と思ってるのは、別HTMLファイルを用意せずに、変数か何かを使って、Aの試聴ボタンを押したら小窓の題名とMIDIがA用に入れ替わって、Bの試聴ボタンを押したら小窓の題名とMIDIが入れ替わる・・・みたいなのなのですが。(この説明で分かるかなぁ・・・) コンボボックスならそういうのがあるのは見つけたのですが、画像のクリックでやりたい!と思ってます。いろいろなサイトをまわりましたが、見つかりません。自作しようとも思いましたがまだまだ勉強中の身で、できませんでした。
 このようなjavascriptの作り方を知ってる、又は作り方の出ているサイトを知ってる方いましたら、教えていただけますか?
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル14

ベストアンサー率 50% (1122/2211)

> http://www.oitaweb.ne.jp/hp/tatsuya/java/bgm3.htm
> で、コンボボックスではなくて、ボタンで・・・と考えていました。

なるほど、ウィンドウを開く方から document.write() する、って手もある
んですね。

ってことは、ラジオボタン(で良い?)から myGo() を呼び出せば良いだけね。
それなら、もっと簡単。

まずは、<form> のところを以下のような感じに。

<form name="myForm">
☆☆ お好きな曲を選んでください ☆☆ <br>
<input type=radio name=myMenu value=0 onClick="myGo(this)">日曜画家<br>
<input type=radio name=myMenu value=1 onClick="myGo(this)">渚のヒロイン
</form>

それから、関数 myGo() の先頭あたりを以下のような感じに。

function myGo(btn){
mySelect = btn.value;

myWin = window.open("" , "bgmwin","width=210,height=160"); // ここは、変わってません


いかが?
お礼コメント
sanbi

お礼率 86% (59/68)

 できました!!
 1ヶ月近く、悶々と考えていたことが解決できて、すっきりしました。
 本当にありがとうございます。とても嬉しいです。

 余談ですが・・a-kumaさんて、ものすごく回答されてますねぇ・・履歴見せていただいて、感心しちゃいました。
投稿日時 - 2001-12-14 22:06:00
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル14

ベストアンサー率 50% (1122/2211)

CGI を起動するときに get で渡すパラメータって、実は HTML でも指定でき、 Javascript で利用することができます。 それを利用して、曲名と URL を渡す例を、簡単に作ってみました。 この例では、小窓で <a> タグで表示していますが、パラメータさえ渡せれば MIDI を鳴らすことはできるのですよね? ■曲名一覧が有る html <htm ...続きを読む
CGI を起動するときに get で渡すパラメータって、実は HTML でも指定でき、
Javascript で利用することができます。

それを利用して、曲名と URL を渡す例を、簡単に作ってみました。

この例では、小窓で <a> タグで表示していますが、パラメータさえ渡せれば
MIDI を鳴らすことはできるのですよね?

■曲名一覧が有る html

<html>
<body>

<script type="text/JavaScript">
function open_win(title, url) {
// 題名は漢字が入るかもしれないから escape しておく
u = "sound.htm" + "?title=" + escape(title) + "&url=" + url;
window.open(u, "a", "height=100,width=100");
}
</script>

<form name="X">
<input type=button value=" 曲A " onClick="open_win('曲A', 'a.htm')">
<input type=button value=" 曲B " onClick="open_win('曲B', 'b.htm')">
</form>

</body>
</html>

■渡されたパラメータを使う html (sound.htm)

<html>
<script type="text/JavaScript">
// パラメータをばらして、title と url の内容を設定する
var title;
var url;

p = location.search; // これがパラメータ(?以降)を表す
v = p.substring(1).split("&"); // 一文字目の?の後を、&で分割する

t = v[0].split("="); // ひとつめは title=??? のはず
title = unescape(t[1]); // 題名は漢字が入るかもしれない…

t = v[1].split("="); // ふたつめは url=??? のはず
url = t[1];
</script>

<head>
<script type="text/JavaScript">
document.write("<title>" + title + "</title>");
</script>
</head>

<body>
<script type="text/JavaScript">
document.write("<a href=\"" + url + "\">");
document.write(title);
</script>
</a>
</body>
</html>

エラーチェックなんかもばっさり削ってますが、参考になりますか?
補足コメント
sanbi

お礼率 86% (59/68)

 お早い回答ありがとうございます。
 わざわざ作っていただいて、嬉しいです。
 しかし、悲しいことにJavascript幼稚園児の私には、a-kumaさんの回答が漠然としか分かっておりません(;_;)なんとなぁく、分かるという感じでしょうか。
 私が考えていたのは
http://www.oitaweb.ne.jp/hp/tatsuya/java/bgm3.htm
で、コンボボックスではなくて、ボタンで・・・と考えていました。
 もう少し、じっくり見せていただいて、勉強します。
投稿日時 - 2001-12-13 16:16:49
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ