0

JavaScript を使用して単純な HTML5 音楽プレーヤーを構築しようとしています。私はこのコードでプレーヤーを構築しました:

<audio controls="controls">
    <source id="song" src="horse.ogg" type="audio/ogg">
</audio>

<a>関数 changeSong(n); を呼び出すいくつかを作成しました。

function changeSong(n) {
    document.getElementById("song").src = "song" + n + ".mp3";
}

をクリックして<a>も、ドキュメントには何も起こらず、機能しません..

<a>:

<a href="#1" onclick="changeSong(1)">Play song 1 </a></br>
<a href="#2" onclick="changeSong(2)">Play song 2 </a>

それを機能させるために何をしますか?////

関数なしでJavaScriptを実行してみましたが、動作します。しかし、関数として呼び出された場合はそうではありません...

4

4 に答える 4

1

変化する:

<a href="#2" onclick="playSong(2)">Play song 2 </a>

と:

<a href="#2" onclick="changeSong(2)">Play song 2 </a>

それはタイプミスですか?


実際、それはで動作しますconsole:

document.getElementById("song");
<source id=​"song" src=​"horse.ogg" type=​"audio/​ogg">​
document.getElementById("song").src;
"chrome://newtab/horse.ogg"
document.getElementById("song").src = 'Hi.ogg';
"Hi.ogg"
document.getElementById("song").src;
"chrome://newtab/Hi.ogg"
于 2012-12-07T14:28:10.367 に答える
0

呼び出しでメソッドの名前がありません。これは機能します:

<a href="#1" onclick="changeSong(1)">Play song 1 </a></br>
<a href="#2" onclick="changeSong(2)">Play song 2 </a>
于 2012-12-07T14:29:50.460 に答える
0

あなたの目標は何ですか ?電話しようとしているなんて言わないで

changeSong(1)

「Play song 1」をクリックします。

あなたのコードを読むだけで、私はその変化を言うことができます

<a href="#2" onclick="playSong(2)">Play song 2 </a>

<a href="#2" onclick="changeSong(2)">Play song 2 </a>

または、何かが足りない :/

デバッグ コードを

changeSong(n){
    document.getElementById("song").src="song"+n+".mp3";
}

何かが追加されているかどうか教えてください:)

于 2012-12-07T14:30:35.590 に答える
0

HTML5 には詳しくありませんが、2 つのエラーを見つけることができます。

  1. changeSong の代わりに playSong を呼び出しています

  2. changeSong が関数であることを宣言する必要があります。

    function changeSong(n){
        document.getElementById("song").src = "song" + n + ".mp3";
    }
    
于 2012-12-07T14:31:32.207 に答える