2016-06-11 12 views
-1
<!DOCTYPE html> 
<html> 
<body> 

<img id="myImage" onclick="aud_play_pause()" src="../../images/off.png" alt=""/> 

<audio id="myAudio"> 
</audio> 

<script> 
    function aud_play_pause() 
    { 
     var song = ["../Sesler/3.mp3"]; 
     var myAudio = document.getElementById("myAudio"); 
     var image = document.getElementById('myImage'); 
     myAudio.src = song; 
     if (myAudio.paused) 
     { 
      image.src = "../../images/on.png"; 
      myAudio.play(); 
     } 
     else if(image.src.match("on")) 
     { 
      image.src = "../../images/off.png"; 
      myAudio.pause(); 
     } 
    } 
</script> 

</body> 
</html> 

こんにちは、HTMLとJavascriptのオーディオプレイ&停止ボタン

それが動作しない理由を私は理解できませんでした。クリックすると(開始する)開始し、もう一度クリックすると、息を吐くと考えられます(そうではありません)。私は "else if"ステートメントは動作しませんが、なぜですか?

おかげで、

H. Caglar

+0

これはJavaではありません.Javascriptです。あなたが違いを知らない場合は、サイト上のそれぞれにウィキがあります、 –

+0

あなたの優しさレイチェルありがとう。私はあなたの助言に従うつもりです。 – Caglar

+0

タイトルを編集しました。誤解を招いて申し訳ありません。 – Caglar

答えて

0

あなたがオーディオのsrcたびに、ユーザーがボタンをクリックして設定します。その後、ロード直後に開始されます。関数の外に移動し、アレイ[...]を使用していないが、唯一の文字列:次に

myAudio.src = "../Sesler/3.mp3"; 

、(他の条件なし)elseが演奏や一時停止を区別するのに十分であるべき:

if (myAudio.paused) { 
    image.src = "../../images/on.png"; 
    myAudio.play(); 
} else { 
    image.src = "../../images/off.png"; 
    myAudio.pause(); 
} 
+0

Joachimにお返事ありがとうございます。私はあなたが言ったことをしたが、うまくいかなかった。ボタンエフェクトは機能していますが、オーディオは再生されませんでした。 – Caglar

+0

代入を関数の外で 'myAudio.src'に移しましたか?実際の例を見るには、私のFiddle https://jsfiddle.net/1Lha66vp/を参照してください。 –

+0

どういうわけか、下の括弧でくくった行を追加するのを忘れてしまったようです。あなたのすべてのご協力ありがとうございます。それは完全に動作しています=) "document.getElementById(" myImage ")。onclick = aud_play_pause;" – Caglar

関連する問題