Javascript HTML格式的音频播放列表

Javascript HTML格式的音频播放列表,javascript,jquery,html,css,Javascript,Jquery,Html,Css,感谢大家,我刚刚解决了这个问题。 我试图理解如何用html制作音频播放列表,所以我尝试按照这里的教程:(下面给出的代码)来实现我的目标。唯一的问题是它不起作用,当一首歌结束时,它总是返回到列表上的第二首歌,而且控制台告诉我有一个“未捕获(承诺中)的DomeException”,我不知道如何解决 function audioPlayer() { var currentSong = 0; $("#audioPlayer")[0].src = $("playlist li a")[0]

感谢大家,我刚刚解决了这个问题。

我试图理解如何用html制作音频播放列表,所以我尝试按照这里的教程:(下面给出的代码)来实现我的目标。唯一的问题是它不起作用,当一首歌结束时,它总是返回到列表上的第二首歌,而且控制台告诉我有一个“未捕获(承诺中)的DomeException”,我不知道如何解决

function audioPlayer() {
    var currentSong = 0;
    $("#audioPlayer")[0].src = $("playlist li a")[0];
    $("#audioPlayer")[0].play();
    $("#playlist li a").click(function(e) {
        e.preventDefault();
        $("#audioPlayer")[0].src = this;
        $("#audioPlayer")[0].play();
        $("#playlist li").removeClass("current-song");
        currentSong = $(this).parent().index();
        $(this).parent().addClass("current-song");
    });

    $("#audioPlayer")[0].addEventListener("ended", function() {
        currentSong++;
        if (currentSong == $("#playlist li a").length) {
            currentSong = 0;
        }
        $("#playlist li").removeClass("current-song");
        $("#playlist li:eq(" + currentSong + ")").addClass("current-song");
        $("#audioPlayer")[0].src = $("#playlist li a")[currentSong].href;
        $("#audioPlayer")[0].play();
    });
}
此外,使用css,我试图使播放的歌曲的名称变为蓝色,但实际情况是,我单击的所有歌曲的名称都变为蓝色,而不仅仅是播放的歌曲

#audioPlayer {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

#playlist li a {
  color: white;
  text-decoration: none;
}

#playlist .current-song a {
  color: #0b80f7;
}
如果有人能帮助我,我将不胜感激


多亏了大家,我刚刚解决了这个问题。所以基本上是错的,我在跨度内使用了“a”元素,如下所示:

<li class="current-song"> <span><a href="../music/lights.mp3"> Lights Down Low</a></span><span>3:43</span></li>
  • 3:43
  • 相反,我应该做的是:

    <li class="current-song"> <a href="../music/lights.mp3"> Lights Down Low</a><span>3:43</span></li>
    
  • 3:43

  • 所以根据我的脚本它可以工作。。。有时候我真的很笨。感谢所有发表评论的人

    尝试在javascript函数audioPlayer(){var currentSong=0;和html音频标记中添加此preload=“none”@教父我的文件没有保存或者我没有写在这里,但是我已经添加了var currentSong=0:P抱歉,我会编辑它。我尝试了你所说的,但它没有解决问题:C这里似乎有一个语法错误,你在
    if
    语句中写了
    length
    ,而不是
    length
    。@KevinPastor Ups,你是ri嗯,编辑它。但它也没有解决问题:/