单击时切换自定义 SoundCloud 播放暂停图像

Switch custom SoundCloud play-pause image on click

希望这个话题不要出现两次。我现在搜索了一个星期,但没有找到任何对我有帮助的东西。

好的。我刚刚用 "jimdo" 建立了一个新网站,我对目前所管理的一切感到非常满意。我的新网站快完成了,但是我有一个很大的问题,那就是在点击时隐藏播放按钮,然后显示暂停按钮。然后点击暂停按钮,出现播放按钮。我确定那里有很多代码,但我找不到适合我的代码:(

这是它目前的样子: play-pause button parallel

这两个图像按钮已连接到 SoundCloud iframe 播放器并且可以正常工作,但如果有一个按钮而不是并排的两个按钮,那就太棒了。

代码如下所示:

<div style="position: relative;">
    <img id="playSound2" src="https://u.jimcdn.com/cms/o/s64e01451c5929131/userlayout/font/playcircle.svg" alt="play" title="play" class="opa" style="position: absolute;width: 100%;max-width: 20px;filter: invert(100%);cursor: pointer;margin: -30px 1px;" name="playSound2"><img id="stopSound2" src="https://u.jimcdn.com/cms/o/s64e01451c5929131/userlayout/font/pausecircle.svg" alt="pause" title="pause" class="opa" style="position: absolute;width: 100%;max-width: 20px;filter: invert(100%);cursor: pointer;margin: -30px 22px;" name="stopSound2">

$(function(){
  var widget1 = SC.Widget("so2");

    $("#playSound2").click(function() {
      widget1.play();

  });  
  $("#stopSound2").click(function() {
      widget1.pause();
  });      
});

我真的不知道怎么做。

如果您能够调整 CSS,则可以实施 jQuery 的 .addClass().removeClass

这是一个工作示例,其中播放按钮和暂停按钮彼此重叠放置。已注册单击事件并在触发时将带有 .hide class 的按钮分配给 toShow 变量。然后,根据显示的按钮添加和删除 hide class。正如您在评论中阐明的那样,当页面上有多个按钮时,需要让代码正常工作,这是一个有效的示例。

确保按钮在 button-wrapper class 内,因为代码使用它来查找当前隐藏的按钮。

$('.opa').click(function(e) {
  var toShow = $(e.target).parent().find('.opa.hide')[0];
  $(e.target).addClass('hide');
  $(toShow).removeClass('hide');
});
.button-wrapper {
  position: relative;
  height: 50px;
}

.opa {
  position: absolute;
  width: 100%;
  max-width: 20px;
  filter: invert(100%);
  cursor: pointer;
  margin: -0px 1px;
}

.hide {
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="button-wrapper">
  <img id="playSound2" src="https://u.jimcdn.com/cms/o/s64e01451c5929131/userlayout/font/playcircle.svg" alt="play" title="play" class="opa" name="playSound2">
  <img id="stopSound2" src="https://u.jimcdn.com/cms/o/s64e01451c5929131/userlayout/font/pausecircle.svg" alt="pause" title="pause" class="opa hide" name="stopSound2">

</div>

<div class="button-wrapper">
  <img id="playSound2" src="https://u.jimcdn.com/cms/o/s64e01451c5929131/userlayout/font/playcircle.svg" alt="play" title="play" class="opa" name="playSound2">
  <img id="stopSound2" src="https://u.jimcdn.com/cms/o/s64e01451c5929131/userlayout/font/pausecircle.svg" alt="pause" title="pause" class="opa hide" name="stopSound2">

</div>

<div class="button-wrapper">
  <img id="playSound2" src="https://u.jimcdn.com/cms/o/s64e01451c5929131/userlayout/font/playcircle.svg" alt="play" title="play" class="opa" name="playSound2">
  <img id="stopSound2" src="https://u.jimcdn.com/cms/o/s64e01451c5929131/userlayout/font/pausecircle.svg" alt="pause" title="pause" class="opa hide" name="stopSound2">

</div>