Javascript / jQuery检查哪个按钮当前正在播放歌曲

时间:2016-02-18 17:48:09

标签: javascript html

我正在尝试创建一个歌曲选择列表,用户可以点击按钮预览歌曲。我正在努力解决设置按钮innerHTML的逻辑,当按钮歌曲正在播放时读取“停止预览”,并且当用户点击另一个按钮时,按钮HTML也会改变。

目前我的脚本看起来像:

 var playedBy;
var song;
var playing = false;
var audioPlayer = document.getElementById("demo");

function setSong(value, idForPlayed) {
    song = value;
    audioPlayer.src = song;
    audioPlayer.play();
    playedBy = idForPlayed;
    var currentIdPlayingValue = document.getElementById(idForPlayed).value;
    console.log(currentIdPlayingValue);
}


function valueGetter(button) {
    song = button.value;
    button.className += " playing";
    var idForPlayed = button.id;
    var value = song;
    setSong(value, idForPlayed);

}

function doEnd() {
    playing = false;
    console.log('we have an end');
    document.getElementById('demo').pause();
    document.getElementById('demo').currentTime = 0;
}

按钮的值是我正在传递音频对象的URL。

这里有任何帮助,对我应采取的方法非常不确定。

全部谢谢!

代码笔中的简单示例:http://codepen.io/anon/pen/XXwXYV

1 个答案:

答案 0 :(得分:0)

您可以在点击时切换innerHtml和所有其他按钮html。

这样的东西
$('.btn').on('click', function(){
  //Add or remove a class for the clicked button to determine if it's playing.
  $(this).toggleClass('playing');

  if($(this).hasClass('playing')){
    //Set all buttons back to play
    //And probably call some sort of Stop Playing function
    $('.btn').html('Play').removeClass('playing');

    $(this).html('Stop Playing').addClass('playing');
  }else{
    $('.btn').html('Play').removeClass('playing');
  }
});
相关问题