• ベストアンサー

BGMの操作

BGMを見ている人が操作出来るように、 ------------------ <form> <BGSOUND LOOP='-1' ID='bg' bolume='' SRC=''> <TABLE><TR><TH> <INPUT TYPE="button" onclick=bg.src="アドレス" VALUE="BGM ON"> <INPUT TYPE="button" onclick=bg.src="" VALUE="BGM OFF"> </td></tr></TABLE> </form> ------------------ としたのですが、<BGSOUND>はIE以外にはサポートされてませんよね? それで、隠しフレームを作って<embed>を置いたのですが、もう一方のフレームからON/OFFを操作することが出来るでしょうか? または、 他のブラウザでもプラグインを表示させずにON/OFFの操作が行えるような方法はないでしょうか? どなたかご教授願います^^;

  • HTML
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
回答No.2

(隠し)フレームを使っているのであれば,簡単ですよ。 要は,<embed>を置いていないページを作り,(隠し)フレームへ表示させるようにリンクすれば良いのですからね。 まず,わかっていらっしゃると思いますが,(隠し)フレームにフレーム名をつけます。 つまり,BGMを流すためのページを(隠して)表示させるフレームに, <FRAME name="bgm" src="***.html"> のような感じでフレーム名をつけます。(例ではフレーム名を「bgm」としています) 次にBGMを流すためのページと空白(BGMを流さないため)のページを用意し,まず,最初からBGMを流したいときには,src="***.html"の***.htmlでそのページを指定します。 で,メインのページには, <A href="nobgm.html" target="bgm">BGMなし</A> <A href="bgm1.html" target="bgm">BGMあり</A> と言うリンクを貼れば,うまく行くはずです。(この例では,BGMオフのページをnobgm.htmlと,BGMオンのページをbgm1.htmlとしています) つまり,BGMのページをtarget="bgm"で指定してあげれば良いのです。 なんとなくでもわかっていただけたでしょうか? これを基本としていくつかの応用が出来るようになります。 その1 フレーム表示を3分割にすることで,常にBGMのオン・オフボタン(リンク)を表示させておくことが出来るようになります。 その2 BGMを流すためだけのページを複数用意し,BGMオンボタン(リンク)をそれぞれに対応させることで,閲覧者が好きなBGMを選択することが出来るようになります。 <A href="nobgm.html" target="bgm">BGMオフ</A> <A href="bgm1.html" target="bgm">BGM1</A> <A href="bgm2.html" target="bgm">BGM2</A> <A href="bgm3.html" target="bgm">BGM3</A> こんな感じですね。 なお,基本として紹介している方法も,応用その2で紹介している方法も,「BGMオフ」や「BGM1」などの文字の部分を画像ファイルで表示させても良いです。 と言うか,そっちの方がオシャレにまとめることが可能だと思います。 ただし,画像ボタンを使用した場合,必ず,応用その1のフレーム3分割にしないと,表示がまごついてしまうと予想出来ますけどね。

-pera-
質問者

お礼

おっ 確かにそういう方法も"あり"ですねw ふむふむ ありがとうございます^^

その他の回答 (1)

  • kisara77
  • ベストアンサー率35% (6/17)
回答No.1

こんばんわ。 私はBGM機能を使ったことがないのですが こちらのJavascriptはどうでしょうか? ネスケにも対応していますし、ON/OFF機能もあります。 Javascript講座→サンプルプログラム内「アクセス」 ここにBGMを変えるスクリプトが載っています。 参考までにどうぞ。

参考URL:
http://www2s.biglobe.ne.jp/~club_tom/
-pera-
質問者

お礼

ありがとうございます。 参考にしてがんばってみます^^

関連するQ&A

  • 「戻るボタン」 : ボタンを使わずに、・・・

    HTMLでは、戻るボタンは、 <FORM> <INPUT TYPE="button" VALUE="戻る" onClick="history.back </FORM> ですが、この動作で、 戻るボタンではなく、 <table><tr><td>戻る</td></tr></table> をクリックするようにしたいのですが、・・・ 可能でしょうか。 可能でしたら、htmlをお願いします。

    • ベストアンサー
    • HTML
  • onClickがinput type="image"だとできない!

    以前、↓の質問をさせていただき解決したのですが、 input type="image" にしたいのですが、 ただ変更するだけでは、できません。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=2068911 どのように変更したらいいでしょうか? 教えてください! 現在下記の方法でやっています。 <style type="text/css"> .white{ background-Color:white; color:black; } .gray{ background-Color:gray; color:yellow; } .blue{ background-Color:blue; color:red; } </style> <body> <form> 全体: <input type="button" value="White" onClick="document.body.className='white'"> <input type="button" value="Gray" onClick="document.body.className='gray'"> <input type="button" value="Blue" onClick="document.body.className='blue'"><br> テーブル1: <input type="button" value="White" onClick="document.getElementById('t1').className='white'"> <input type="button" value="Gray" onClick="document.getElementById('t1').className='gray'"> <input type="button" value="Blue" onClick="document.getElementById('t1').className='blue'"><br> テーブル2: <input type="button" value="White" onClick="document.getElementById('t2').className='white'"> <input type="button" value="Gray" onClick="document.getElementById('t2').className='gray'"> <input type="button" value="Blue" onClick="document.getElementById('t2').className='blue'"><br> </form> <table width=100% id="t1"> <tr><td>test</td></tr> </table> <table width=100% id="t2"> <tr><td>test</td></tr> </table> </body>

  • BGMをON/OFFするタグ

    HTML手打ちでHPを作っていて、BGMをボタン(orリンク文字で)ON/OFFできるようにしたいのです。 でも、このタグでは流せないのですが何故でしょう・・・? <bgsound src="" volume="1" id="snd0"> <a href="javascript:" onClick="window.snd0.src='ファイルのアドレス';return false;">ON</a>  <a href="javascript:" onClick="window.snd0.src='';return false;">OFF</a> このタグで本当にBGMが流せるんですか?わたしのやり方が悪いのでしょうか・・・アドバイスお願いします!

  • 名無しformの操作

    以下のような、元々名前のないformが複数ある場合にボタンイベントで発生した共通のtest()関数内で処理を行う場合、どのフォームか識別できる方法はあるのでしょうか? テスト1、をクリックした場合、テスト1のフォームの操作を行いたいです。 <script ....... function test(???) { document.どのフォームかわからない.action="/index.cgi"; document.どのフォームかわからない.a.value="1"; document.どのフォームかわからない.submit(); } </script> <form> <input type="hidden" name="a" value=""> <input type="button" value="テスト1" onclick="javascript:test(???)"> </form> <form> <input type="hidden" name="a" value=""> <input type="button" value="テスト2" onclick="javascript:test(???)"> </form> <form> <input type="hidden" name="a" value=""> <input type="button" value="テスト3" onclick="javascript:test(???)"> </form>

  • 現在

    現在 <table> <tr> <td> <input type="button" value="1" onclick=""/> <input type="button" value="2" onclick=""/> <input type="button" value="3" onclick=""/> </td> </tr> </table> といった単純なテーブルを作成しています。 上記のボタン1,2,3とそれぞれの間に空白を開けたいと思っているのですが、 <input type="button" value="1" onclick=""/>    <span style="width:50px">&nbsp;</span> <input type="button" value="2" onclick=""/> <span style="width:50px">&nbsp;</span> <input type="button" value="3" onclick=""/> と作成するとIE6ではボタン間に隙間が開くことを確認したのですがIE8では spanタグが無視されてしまい、ボタン間が詰まった表示のままになってしまいます。 IE8ではspanタグで隙間を作ることは難しいのでしょうか? また他に手法がありましたら、紹介していただけると幸いです。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • 電卓をつくったのですが

    <script type="text/javascript"> <!-- var to=0; var inp=""; var cal="+"; var flg=1; function df(a){ flg=0; inp+=a; document.ad1.z.value= inp; } function df1(a){ if(flg==0){ flg=1; var don=to+cal+inp; to=eval(don); inp=""; document.ad1.z.value=to; } if(a=="="){ to=0; cal="+"; }else{ cal=a; } } function df3(){ to=0; cal="+"; inp=""; document.ad1.z.value=to; } --> </script> </head> <body> <div id="s1"> <div id="s2"> <form name="ad1"> <table> <tr><td colspan="4">電卓</td></tr> <tr><td colspan="3"><input type="text" size="12px" name="z" value="0"></td> <tr> <td><input type="button" name="ad7" value="7" onClick="df(7)"></td> <td><input type="button" name="ad8" value="8" onClick="df(8)"></td> <td><input type="button" name="ad9" value="9" onClick="df(9)"></td> </tr> <tr> <td><input type="button" name="ad6" value="6" onClick="df(6)"></td> <td><input type="button" name="ad5" value="5" onClick="df(5)"></td> <td><input type="button" name="ad4" value="4" onClick="df(4)"></td> </tr> <tr> <td><input type="button" name="ad3" value="3" onClick="df(3)"></td> <td><input type="button" name="ad2" value="2" onClick="df(2)"></td> <td><input type="button" name="ad11" value="1" onClick="df(1)"></td> </tr> <tr> <td><input type="button" name="add1" value="+" onClick="df1(+)"></td> <td><input type="button" name="add2" value="-" onClick="df1(-)"></td> <td><input type="button" name="add3" value="×" onClick="df1(*)"></td> </tr> <tr> <td><input type="button" name="add4" value="÷" onClick="df1(/)"></td> <td><input type="button" name="add5" value="=" onClick="df1(=)"></td> <td><input type="button" name="add6" value="." onClick="df1(.)"></td> <td><input type="button" name="add7" value="c" onClick="df3()"></td> </tr> </table> </form> </div> </div> </body> </html> クリアーは上手くいったんですが 計算ができませんでした。 どこがいけないのでしょうか?

  • javascriptで電卓を作成

    プログラミングをまったくやったことがない状態から、ドットインストールやテックアカデミーのHTML,CSS,Javascriptの入門動画をすべて見終わった段階ですので、 基本的な仕組みと関数やfor文、if文、while文、などについてくらいは理解しています。 今回、javascriptを使って電卓のシステムを組む、という課題があり、 ネットで検索してやってみてはいるのですが行き詰っています。 最初は以下のような形で作成をしていました。 <body> <form name="myform">  <table border="1"> <tr> <td colspan="4"> <input type="text" name="result" value="" id="result"> </td> </tr> <tr> <td><input type="button" value=" "onclick="calc(' ')" ></td> <td><input type="button" value="%"onclick="calc('%')"></td> <td colspan="2"> <input type="button" value="AC" onclick="calc('AC')"></td> </tr> <tr> <td><input type="button" value="7" onclick="calc('7')"></td> <td><input type="button" value="8" onclick="calc('8')"></td> <td><input type="button" value="9" onclick="calc('9')"></td> <td><input type="button" value="÷" onclick="calc('÷')"></td> </tr> <tr> <td><input type="button" value="4"onclick="calc('4')" ></td> <td><input type="button" value="5"onclick="calc('5')" ></td> <td><input type="button" value="6"onclick="calc('6')"></td> <td><input type="button" value="×" onclick="calc('×')"></td> </tr>   <tr> <td><input type="button" value="1" onclick="calc('1')" ></td> <td><input type="button" value="2" onclick="calc('2')"></td> <td><input type="button" value="3" onclick="calc('3')"></td> <td><input type="button" value="-" onclick="calc('-')"></td> </tr> <tr> <td><input type="button" value="0" onclick="calc('0')" ></td> <td><input type="button" value="+" onclick="calc('+')"></td> <td colspan="2"> <input type="button" value="=" onclick="calc('=')"></td> </tr> </form> <script> function calc(a) { if (a === "=") { document.myform.kekka.value = eval(document.myform.kekka.value); } else if (a === "AC") { document.myform.kekka.value = ""; } else { document.myform.kekka.value += a; } </script> </body> </html> ですが、onclickとevalを使わず、代わりに「addEventListner」を用いるよう指示されました。 「addEventListner」に関しては、検索してなんとかざっと理解したのですが、それ以前に、電卓の基本的な関数の組み方を理解していないため、いまいちどこから手をつけたらいいかわかりません。 いろんなサイトを見ているといろんなやり方がでてきますが、ope=+,やflag=0などの表記をよく見かけます。が、この意味もいまいちわかっていません。。 初心者すぎるので、何かアドバイスをいただけますと幸いです。 宜しくお願いいたします。 また、このような初心者が使いこなせるようになるために向いている動画や書籍、ページがありましたら教えていただけますと助かります。

  • buttonのVALUEが渡される条件

    form内にINPUTタグでbuttonを複数設定するのですが、 buttonのVALUEがパラメタで渡される場合と渡されない場合があり、 悩んでいます。 一番いいのはどんな状況でもbuttonのVALUEが渡されない状態にしたいのですが、buttonのVALUEが渡される条件を教えていただけたらと思います。 今のソースでは、位置により渡される場合とそうでない場合に別れます。 下記ソースの場合ですと、8行目の「btn_a」のVALUE「ボタンA」がパラメタで渡されます。 しかし、18行目の「INPUT TYPE="text"…」以降に設定すると渡されないのです。 この違いはなんでしょうか。 説明不足でしたら補足致します。 ご教授頂けると助かります。 1<FORM ACTION="xxxxxxx" METHOD="POST" NAME="form_1" onSubmit="return false"> 2 3-- 外側のテーブル 4<TABLE> 5 <TR> 6 <TD> 7 <div align="right"> 8 <INPUT TYPE="button" NAME="btn_a" VALUE="ボタンA" onClick="a_click();"> 9 </div> 10 </TD> 11 </TR> 12 <TR> 13 <TD> 14 -- 内側のテーブル 15 <TABLE> 16 <TR> 17 <TD>項目あ</TD> 18 <TD><INPUT TYPE="text" NAME="t_name" SIZE="80" MAXLENGTH="80"></TD> 19 </TR> 20 21 (中略) 22 </TABLE> 23 </TD> 24 </TR> 25</TABLE>

  • 親フレームの変数にアクセス(JavaScript)

    [index.html] <script src="script.js"></script> <frameset rows="50%,*" frameborder="1"> <frame src="content1.html"name="cont1"> <frame src="content2.html" name="cont2"> </frameset> [script.js] var test_text="てすと"; [content1.html] <form> <input type="text" name="in"> <input type="button" onClick="window.parent.test_text = document.forms[0].in.value;" value="IN"> </form> [content2.html] <form> <input type="text" name="out"> <input type="button" onClick="document.forms[0].out.value = window.parent.test_text;" value="OUT"> </form> のようになっています。 「index.html」の「script.js」の変数に、「content.1html」と「content2.html」からアクセスしたいです。 ですが、フレームになっているため、思うような動作をしてくれません。 よろしくお願いします。

  • テーブル内のチェックボックスを、全て選択、全て解除 したい

    以下のような、フォームの中にあるテーブル内のチェックボックスを一括して選択、解除したいのですが、どのように書けば良いのかが分かりません。 <form name="form1"> <table> <tr> <td><input name="array[]" type="checkbox" id="array[]" value="1">項目(1)</td> </tr> <tr> <td><input name="array[]" type="checkbox" id="array[]" value="2">項目(2)</td> </tr> <tr> <td><input name="array[]" type="checkbox" id="array[]" value="3">項目(3)</td> </tr> </table> </form> ↓これは自分で試したプログラムですが、うまく動きませんでした。 <SCRIPT TYPE="text/javascript"> <!-- var count; function BoxChecked(check){ for(count = 0; count < document.form1.array[].length; count++){ document.form1.array[][count].checked = check; } } //--> </SCRIPT> <INPUT TYPE="button" onClick="BoxChecked(true);" VALUE="全て選択"> <INPUT TYPE="button" onClick="BoxChecked(false);" VALUE="全て未選択"> ↓ここに載っているのを色々変更してみたのですが上手くいきませんでした。 http://www5e.biglobe.ne.jp/~access_r/hp/javascript/js_072.html よろしくお願いします。

専門家に質問してみよう