0

Javascript:

function Start1 ()
{
    var audie = document.getElementById("myAudio");
    audie.src = ("RWY.mp3");
    audie.play();
}

function Start2 ()
{
    var audie = document.getElementById("myAudio");
    audie.src = ("EL.mp3");
    audie.play();

HTML

<img src="images/play.png" alt="Play Button width="37" height="30" 
onclick="Start1()">

画像を選択しようとしていますが、その画像をクリックするとすぐに、要素に記述されているファイルに従って曲が再生されます。

4

2 に答える 2

1

問題がなかったのかもしれませんが、なぜ画像や音声ごとに別々の機能を作っているのですか。このようにオーディオファイルのソースを渡すだけで、単一の関数を使用してそれを行うこともできます

function Start (audioFile)
{
    var audie = document.getElementById("myAudio");
    audie.src = audioFile;
    audie.play();
}

マークアップ:

<img src="images/play.png" alt="Play Button width="37" height="30" onclick="Start('RWY.mp3')">

<img src="images/play.png" alt="Play Button width="37" height="30" onclick="Start('EL.mp3')">

アップデート:

function StartOrStop(audioFile)
  {
    var audie = document.getElementById("myAudio");
    audie.src = audioFile;
    if(audie.paused==false)
     {
        audie.Paused();
     }
     else
     {
       audie.play();
     }
  }
于 2013-03-23T10:56:19.373 に答える
0

同じ目的のために多くの異なる機能を持たないようにしてください。jQueryを使用して、コードを短く非常に単純にすることができます。

$(document).ready(function() { // starting our code when document is loaded
    $('.playbtn').click(function() { // attaching this code to click event of any html element having _playbtn_ class
        $(this).data('song'); // getting song name from _data_ container of clicked element $(this)
        $('#myAudio').attr('src',songFileName).play(); // getting element myAudio bi its id, then setting it's src attribute and, finally, starting playback 
    });
});

このためのHTMLは次のようになります

<img src="images/play.png" class='playbtn' alt="Play Button" data-song="RWY.mp3" width="37" height="30" />
<img src="images/play.png" class='playbtn' alt="Play Button" data-song="EL.mp3" width="37" height="30" />

これからは、新しい曲のボタンを追加するために1行だけ追加する必要があります。<img ... />行をコピーし、新しいデータ曲の値を設定して... wuala!

于 2013-03-23T10:57:36.817 に答える