javascript - 尝试在点击时替换音频 src 值?

标签 javascript jquery html5-audio

我正在尝试为我目前正在开发的网站编写一个播放列表,但目前遇到了一些问题。到目前为止,我已经编写了脚本,它用第二首歌替换了默认歌曲,但点击后不会恢复。有什么建议吗?

HTML...

<audio id="player" src="../audio/small-skeletal.mp3" type="audio/mp3" controls autoplay></audio>    

<div id="audio_list" style="margin-top: 100px;">
    <div id="track">
        <h2 class="change-song" data-track="http://www.birp.fm/music/playlists/2014/january-2014/027%20-%20Phantogram%20-%20Fall%20In%20Love.mp3">Switch to second song</h2>
        <h2 id="bb" class="change-song" data-track="http://www.logicwebmedia.com/dev/ecb/new-dev/audio/small-skeletal.mp3">Change it back!!</h2>
    </div>
$('.change-song').click(function(){
    var song = $('.change-song').data('track');
    $('#player').attr('src', song).attr('autoload', 'auto').attr('autoplay');
});

脚本只返回第一首歌曲作为值,而不返回第二首歌曲。我该如何解决这个问题?

最佳答案

将您的click函数更改为:

$('.change-song').click(function(){
    var song = $( this ).data('track');
    $('#player').attr('src', song).attr('autoload','auto').attr('autoplay');
});

this 是对被单击元素的引用。

关于javascript - 尝试在点击时替换音频 src 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28077543/

相关文章:

javascript - 无法在 gatsby 站点中安装和配置 MDX 转换器插件(和依赖项)

javascript - 如何循环遍历每个文本框并将所有其他文本框中的文本框值设置为禁用(如果已输入)

javascript - 如何防止错误 : "Window navigated away"

javascript - <audio> src 使用 javascript 更改

javascript - 使用 jQuery setInterval 减小元素的宽度,但仅从一侧(左或右)

javascript - 如何以 Angular 使用 npm 模块?

javascript - 即使音频上下文处于运行状态,音频元素的播放 promise 也会被拒绝

audio - ScriptProcessorNode内部

javascript - 在通过 Javascript 代码应用样式方面需要帮助

Javascript 函数并不总是在元素准备好后加载