<div id="audio-player">
<div>
<img id="playButton"
onclick="document.getElementById('stars').play();
document.getElementById('playButton').toggle(
function(){ $(this).attr("src", "playbutton-active.png"); },
function(){ $(this).attr("src", "playbutton-inactive.png"); } );"
src="playbutton-inactive.png">
<img id="pauseButton"
onclick="document.getElementById('stars').pause();
document.getElementById('pauseButton').toggle(
function(){ $(this).attr("src", "pausebutton-active.png"); },
function(){ $(this).attr("src", "pausebutton-inactive.png"); } );"
src="pausebutton-inactive.png">
<img id="stopButton"
onclick="document.getElementById('stars').pause();
document.getElementById('stars').currentTime = 0;
document.getElementById('stopButton').toggle(
function(){ $(this).attr("src", "stopbutton-active.png"); },
function(){ $(this).attr("src", "stopbutton-inactive.png"); } );"
src="stopbutton-inactive.png">
</div>
<audio id="stars">
<source src="stars-in-the-night-sky.mp3">
<source src="stars-in-the-night-sky.ogg">
</audio>
$(this).toggleを使用して、getElementById('playButton')の代わりに試しましたが、アクティブ/非アクティブの画像は切り替わりません。トグルステートメントがない場合、カスタムボタンはオーディオの開始/一時停止/停止に機能します。トグルを追加すると、最初の非アクティブなコントロール画像が表示されますが、コントロールは機能しなくなります。また、ボタンを切り替えたときに他のボタンをリセットするには、別の機能が必要になることもわかりました。