HTML 5 audio.pause()在javascript生成音频元素时不工作

HTML 5 audio.pause()在javascript生成音频元素时不工作,javascript,html,Javascript,Html,我无法暂停或停止播放音乐。audio.pause()很简单,无法工作。我尝试了一切,甚至更改了源代码并再次加载。 大唐克斯求救 不在Chrome、Opera、Firefox中工作 在我看来,我尽了一切可能,但还是想不出来 <link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css'> <script src='htt

我无法暂停或停止播放音乐。audio.pause()很简单,无法工作。我尝试了一切,甚至更改了源代码并再次加载。 大唐克斯求救

不在Chrome、Opera、Firefox中工作

在我看来,我尽了一切可能,但还是想不出来

<link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css'>
<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js'></script>
<style>.ppbutton{font-size: 50px;cursor: pointer;}</style>  

<a id="ppbutton1" class="ppbutton fa fa-play" data-src="https://kolber.github.io/audiojs/demos/mp3/01-dead-wrong-intro.mp3"></a>

<a id="ppbutton2" class="ppbutton fa fa-play" data-src="https://kolber.github.io/audiojs/demos/mp3/02-juicy-r.mp3"></a>

<script>
var clicked_id;
var audio_var;

$('.ppbutton').on("click",function(){
  var datasrc = $(this).attr('data-src');
  clicked_id= $(this).attr('id');
  console.log(clicked_id);
  audio_var = new Audio(datasrc);
  if($(this).hasClass('fa-play')){
     console.log('play_click');
     $(this).removeClass('fa-play');
     $(this).addClass('fa-pause');
     console.log(audio_var);
     audio_var.play();
   } else {
     console.log('pause_click');
     $(this).removeClass('fa-pause');
     $(this).addClass('fa-play');
     audio_var.pause();
     //audio_var.src='';
     //audio_var.load();
     console.log(audio_var);
   }
});
</script>

.ppbutton{字体大小:50px;光标:指针;}


只需暂停或停止javascript生成的音频。

一个非常小的更改应该会有所帮助

将新的音频去极化移动到If Hasclass内。问题的产生是因为用户每次单击按钮时,都会创建一个新的音频元素


一个很小的改变应该会有所帮助

将新的音频去极化移动到If Hasclass内。问题的产生是因为用户每次单击按钮时,都会创建一个新的音频元素


Vinayakam,谢谢你的时间和知识:)你能帮我在单击播放时停止所有活动的声音吗?不要再浪费时间了:)我的头得到了:DD我添加了停止旧声音,播放新声音功能并在声音末尾更改图标:var audioElements=document.getElementsByTagName('audio');在itAlso中循环,理想情况下,我会创建一个具有这种特定行为的网络组件,并使用它。这使它非常有效。我通常会使用聚合物,但也有其他选择Vinayakam,谢谢你的时间和知识:)你能帮我在点击播放时停止所有活动的声音吗?不要浪费更多的时间:)我的头得到了:DD我添加了停止旧声音,播放新的声音功能并更改声音末尾的图标时:var audioElements=document.getElementsByTagName('audio');在itAlso中循环,理想情况下,我会创建一个具有这种特定行为的网络组件,并使用它。这使它非常有效。我通常会使用聚合物,但也有其他选择
$('.ppbutton').on("click",function(){
var datasrc = $(this).attr('data-src');
clicked_id= $(this).attr('id');
console.log(clicked_id);
if($(this).hasClass('fa-play')){
   console.log('play_click');
   audio_var = new Audio(datasrc);
   $(this).removeClass('fa-play');
   $(this).addClass('fa-pause');
   console.log(audio_var);
   audio_var.play();
 } else {
   console.log('pause_click');
   $(this).removeClass('fa-pause');
   $(this).addClass('fa-play');
   console.log(audio_var);
   audio_var.pause();
   //audio_var.src='';
   //audio_var.load();
   console.log(audio_var);
 }