根据我的阅读,jquery.attr()
是我需要更新此div的数据属性。 div在页面上包含一个audioplayer,最终目标是为一个名为" ap1"的div更新数据 - 拇指,数据源,数据 - bgimage等 - 现在,让&#39 ; s只是目标成功更新数据源,其中包含我们要切换到的mp3的位置(字符串)。
我正在使用以下代码成功更新值(根据警报回复' sounds / song_to_change_to.mp3')但相应的播放器未完全更新 - 仅基于文本的组件正在视图中进行更新,但需要刷新'没有发生数据属性:
$('#ap1').attr("data-source", r_cont);
alert($('#ap1').attr("data-source"));
r_cont
包含一个简单的字符串,例如' sounds / song_to_change_to.mp3'。
当警报运行时,它会显示新mp3的名称,但播放器不会更新。请注意,文本组件在html中更新(例如$("#activeartist").text(title);
),并且可以立即查看更改。我正在使用的代码使用以下内容启动播放器:
jQuery(document).ready(function ($) {
var settings_ap = {
disable_volume: 'off'
};
dzsap_init('#ap1',settings_ap);
});
我已将此插入到一个函数中,该函数在单击链接以更新当前播放的歌曲时运行。在</body>
之前的脚本标记中使用相同的相同功能,以在页面加载时使用默认歌曲初始化播放器。
这是我的html代码中的div,它显示原始播放器(带有默认歌曲)。
<section class="dzsap-sticktobottom">
<div id="ap1" class="audioplayer-tobe" style="width:100%; margin-top:10px; margin-bottom: 10px;" **data-thumb**="img/thumb2.jpg" **data-bgimage**="img/bg.jpg" **data-source**="sounds/itsabeautifulday.mp3">
<div class="meta-artist"><span id="activeartist" class="the-artist">Artist Name</span><span id="activesong" class="the-name"><a href="#" target="_blank">Song Name</a></span>
</div>
</div>
</section>
当该功能运行时,目标是用选定的歌曲和相关的bg图像,缩略图等更新播放器。该功能将6个字符串作为输入并传递它们但是现在只是假装它将输入包含mp3路径的1个字符串作为输入。
注意:我想知道ap1是否需要每次都被拆除并重新初始化。我尝试在函数中使用$('#ap1').remove()
来在每次单击链接时拆除现有div,然后使用$("#ap1").html('HTML_AP1_CODE_HERE>')
附加整个div,但它只是作为无格式文本传递。