0
 $('a.song-covers').click(function(){
     var audioElement = $(this).find('audio').attr('src');
     var audio = audioElement;   
     var tmpVinlyState2 = true;
    $('.play-btn-vinly').click(function() {
      if (tmpVinlyState2) {
        audio.play();
        tmpVinlyState2 = false;
      }
      else
      {
        audio.pause();
        tmpVinlyState2 = true;
      }

    });
 });

大家好,我使用上面的代码获取音频和它的 src 并将其保存在 audioElement 中,我使用了 alert(audioElement); 它为我在我的 html 中的每个音频提供了正确的 src 问题是当点击 play-btn-vinly 时它不会播放它应该播放的音频是 html 代码

<div class="song-archive-container">
    <div class="play-btn-vinly-container">
        <img class="play-btn-vinly" id="play-btn" src="media/play.png" />
    </div>
  <div class="song-archive-inner">
      <div class="song-archive-items">
        <a href="#" class="song-covers">
            <div class="first-item-back covers">

            </div>
            <img src="media/vd.png" id="vdSlide" class="vd" />


                <audio id="audio1" src="media/1.mp3" />
        </a>
      </div>
      <div class="song-archive-items">
        <a href="#" class="song-covers">
            <div class="sec-item-back covers">

            </div>
            <img src="media/vd.png" id="vdSlide2" class="vd"/>


                <audio id="audio1" src="media/2.mp3" />
        </a>
      </div>
      <div class="song-archive-items">

        <a href="#" class="song-covers">
        <div class="third-item-back covers">

        </div>
            <img src="media/vd.png" id="vdSlide3" class="vd"/>

                <audio id="audio1" src="media/3.mp3" />
        </a>
      </div>
      <div class="song-archive-items">

        <a href="#" class="song-covers">
        <div class="forth-item-back covers">

        </div>
            <img src="media/vd.png" id="vdSlide4" class="vd"/>

            <audio id="audio1" src="media/4.mp3" />
        </a>
      </div>
  </div>
</div>



<div class="vinly-container">
        <div class="vinly-circle">

    </div>
<div class="vinly1 vinlys-main">

</div>

</div>

Thx for advanced ,这是我在 stackoverflow 中的第一个问题

未捕获的 ReferenceError:audio.play 不是一个函数,这就是我播放音频时得到的

4

1 回答 1

0

有点解决了,我为我的音频标签设置了不同的 ID 并将它们存储在 audioId 中:

  var audioId = $(this).find('audio').attr('id');

在我尝试获取已单击的音频 ID 并将其存储在音频中之后:

  var audio =document.getElementById(audioId);

这是jq:

$('a.song-covers').on('click' , function(){

 var audioId = $(this).find('audio').attr('id');
 var audio =document.getElementById(audioId);

 var tmpVinlyState2 = true;
$('.play-btn-vinly').click(function() {
  if (tmpVinlyState2) {
    audio.play();
    tmpVinlyState2 = false;
  }
  else
  {
    audio.pause();
    tmpVinlyState2 = true;
  }

});

});

于 2018-11-09T08:28:24.030 回答