【发布时间】:2020-06-02 13:50:07
【问题描述】:
我试图在每次点击时播放一张图片,我现在有两首歌和两张图片。 每次我单击图像时,只会播放一首歌曲,因为现在索引为 0。 我想根据我单击的图像播放不同的歌曲(我将来可能会添加更多图片,所以我正在寻找不涉及更改 JS 的解决方案)。 我可以在索引中写什么(而不是 0)会根据我单击的图像而改变吗?
HTML:
<section id="imgsound">
<div class="imageCircle">
<div id="bird">
<img id="birdImg" class="circle" src="images/bird.jpg">
<audio id="birdAudio" class="audio"><source src="sounds/bird.mp3" type="audio/mpeg"></audio>
</div>
</div>
<div class="imageCircle">
<div id="stream">
<img id="streamImg" class="circle" src="images/stream.jpg">
<audio id="birdAudio" class="audio"><source src="sounds/stream.mp3" type="audio/mpeg"> </audio>
</div>
</div>
JS:
var audio;
function playAudio(){
if (audio == false){
$(this).css({"transform":"rotate(-360deg)"});
$(".audio")[0].play();
audio = true;
}else{
$(this).css({"transform":"rotate(360deg)"});
$(".audio")[0].pause();
audio = false;
}
}
$(".imageCircle").click(playAudio);
【问题讨论】:
-
如果你把这个
$(".audio")[0].play();改成这个$(this).find(".audio")[0].play();会发生什么 -
仅供参考:您可以将
if (audio == false)替换为if (!audio)
标签: javascript html jquery indexing