アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (2件)

>

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"); // ここは、変わってません


いかが?
    • good
    • 0
この回答へのお礼

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

 余談ですが・・a-kumaさんて、ものすごく回答されてますねぇ・・履歴見せていただいて、感心しちゃいました。

お礼日時:2001/12/14 22:06

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>

エラーチェックなんかもばっさり削ってますが、参考になりますか?

この回答への補足

 お早い回答ありがとうございます。
 わざわざ作っていただいて、嬉しいです。
 しかし、悲しいことにJavascript幼稚園児の私には、a-kumaさんの回答が漠然としか分かっておりません(;_;)なんとなぁく、分かるという感じでしょうか。
 私が考えていたのは
http://www.oitaweb.ne.jp/hp/tatsuya/java/bgm3.htm
で、コンボボックスではなくて、ボタンで・・・と考えていました。
 もう少し、じっくり見せていただいて、勉強します。

補足日時:2001/12/13 16:16
    • good
    • 0

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