使用javascript onClick

时间:2017-09-29 22:52:23

标签: javascript jquery html audio onclick

这是我的第一篇文章,我已经搜索了一些答案,但没有遇到任何解决方案。

基本上我想做的就是使用javascript函数,playSound(声音)使onClick =“”启动和停止音频。这是我到目前为止所结束的。现在,当我点击时没有音频播放,但是当我单独测试单个代码'song1.play()'时,声音会播放,但是再次点击时显然不会停止。希望这不是太难。

function playSound(sound){
        var song1=document.getElementById(sound);
        var isPlaying = true;
        if (!isPlaying){
            isPlaying == true;
            song1.play();
        } 
        else{
            isPlaying == false;
            song1.pause();
        }
    }

4 个答案:

答案 0 :(得分:0)

您正在将isPlaying变量与true和false进行比较,而不是将它们分配给变量。这应该现在有效。

function playSound(sound){
    var song1=document.getElementById(sound);
    var isPlaying = true;
    if (!isPlaying){
        isPlaying = true;
        song1.play();
    } 
    else{
        isPlaying = false;
        song1.pause();
    }
}

答案 1 :(得分:0)

你应该使用=而不是==

  

= is Assignment运算符,其中as ==是比较运算符。

答案 2 :(得分:0)

两个小的修正。

a)var isPlaying = true;应该全局声明,以便在多次调用" OnClick"之间保留其值。

b)在{isPlaying'的赋值语句中,==应更改为=。变量。

var isPlaying = true;
 function playSound(sound){
            var song1=document.getElementById(sound);
            if (!isPlaying){
                isPlaying = true;
                song1.play();
            } 
            else{
                isPlaying = false;
                song1.pause();
            }
        }

答案 3 :(得分:0)

您可以使用paused属性检查声音是否暂停:

function playSound(sound) {
  var song1 = document.getElementById(sound);
  song1.volume = .25; // setting the volume to 25% because the sound is loud
  if (song1.paused) {  // if song1 is paused
    song1.play();
  } else {
    song1.pause();
  }
}
<audio id="sound">
  <source src="https://www.w3schools.com/TagS/horse.mp3" type="audio/mp3">
</audio>
<button onclick="playSound('sound')">Play/Pause</button>