在页面上,我在小型音频播放器中播放歌曲,歌曲每 1-2 分钟或我希望它们更改一次(如收音机)。每首歌曲都可以由用户以这种方式投票:
<span class='up'><a href="" class="vote" id="<?php echo $mes_id; ?>" name="up"><img src="up.png" alt="Down" /></a></span><br />
对于赞成按钮,<div class="totalvotes"></div>
用于总票数和
<span class='down'><a href="" class="vote" id="<?php echo $mes_id; ?>" name="down"><img src="down.png" alt="Down" /></a></span>
对于反对按钮。
一切正常,但是当我单击其中一个按钮进行投票时,页面显然会刷新。来自 a
元素的id="<?php echo $mes_id; ?>"
是我需要每 1-2 秒更新一次的内容,因为它获取当前正在播放的歌曲的 id。
对于总票数,解决方案使用:
function refresh_div() {
jQuery.ajax({
url:'totalvotes.php',
type:'POST',
success:function(totalvotes) {
jQuery(".totalvotes").html(totalvotes);
}
});
}
t = setInterval(refresh_div,1000);
这很容易,因为我创建了一个带有类的div 并在函数中指定了该类。但是我没有想法,如何指定每秒更新的"a"的ID。
您可以使用 jQuery 的.attr()
来更改 HTML 元素上的任何属性。
function updateLink() {
// get id of current song.
// newValue is that id.
$("a").attr('id',newValue);
}
setInterval(updateLink,1000);
我宁愿将该链接放在div 中并使用 ajax 使用新链接更新该div
获取使用 Ajax 播放歌曲的 ID只需在页面加载中全局获取对锚元素的引用
var anchor = $("#<?php echo $mes_id; ?>");
并设置
$(anchor).attr("id", idReturnedFromAjaxCall);
$(anchor).attr("href", theUrlIBuilded);