2016-11-17 292 views
0

我有5個圖像,每個圖像都有一個音頻文件播放單擊圖像。一次播放音頻音頻文件

我希望單擊另一個圖像時正在播放的一個圖像的音頻停止,然後播放該圖像的音頻。

$('.cl').click(function() { 
    var DOMElem = $('.cs').get(0); 
    DOMElem.paused ? DOMElem.play() : DOMElem.pause(); 
}); 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
<img class="cl" src="photo/198.jpg" /> 
</br> 
<audio class="cs"> 
    <source src="http://www.w3schools.com/html/horse.mp3" type="audio/mpeg"> 
</audio> 
<img class="cl" src="photo/198.jpg" /> 
</br> 
<audio class="cs"> 
    <source src="http://www.w3schools.com/html/horse.mp3" type="audio/mpeg"> 
</audio> 
<img class="cl" src="photo/198.jpg" /> 
</br> 
<audio class="cs"> 
    <source src="http://www.w3schools.com/html/horse.mp3" type="audio/mpeg"> 
</audio> 
+0

這是[靜音標籤](http://www.w3schools.com/tags/att_audio_muted.asp),您可以將其應用於正在播放的人。 –

+0

你可以寫代碼] –

回答

0

您每次收到第一個audio對象。你需要對於獲取objectimg

$('.cl').click(function() { 
    var DOMElem = $(this).next().next().get(0); 
    DOMElem.paused ? DOMElem.play() : DOMElem.pause(); 
}); 

一種更好的方法是使每個圖像和音頻div容器,當你點擊image可以相對於容器獲取音頻對象。

<div class="audioContainer"> 
     <img class="cl" src="photo/198.jpg" /> 
     </br> 
     <audio class="cs"> 
      <source src="http://www.w3schools.com/html/horse.mp3" type="audio/mpeg"> 
     </audio> 
    </div> 
    <div class="audioContainer"> 
     <img class="cl" src="photo/198.jpg" /> 
     </br> 
     <audio class="cs"> 
      <source src="http://www.w3schools.com/html/horse.mp3" type="audio/mpeg"> 
     </audio> 
    </div> 
    <div class="audioContainer"> 
     <img class="cl" src="photo/198.jpg" /> 
     </br> 
     <audio class="cs"> 
      <source src="http://www.w3schools.com/html/horse.mp3" type="audio/mpeg"> 
     </audio> 
    </div> 
    <script> 

     var DOMElem; 
    $('.cl').click(function() { 
     if (DOMElem) { 
      if (!DOMElem.paused) 
       DOMElem.pause(); 
     } 
     DOMElem = $(this).parent().find('.cs').get(0); 
     DOMElem.play(); 
     console.log(DOMElem); 
    }); 
    </script> 
+0

但是當點擊其他圖像時,第一個音頻不會暫停 –

+0

好吧,讓全局變量'DOMElem'我將編輯答案,以顯示您在最後一個腳本。 – Mairaj

+0

查看答案結束時的更新。 – Mairaj