我有一个JavaScript函数,我在其中播放声音文件(使用phonegap)。它通常工作正常,但我想在下载文件时将img src
更改为加载图标。但是,src已更改
文件播放后。
我尝试将+new Date().getTime()
添加到src的末尾,但它没有帮助。有什么想法吗?
function playSound(){
var img = $(this).prev();
img.attr("src", "css/images/ajax-loader.gif?"+new Date().getTime());
var url = "http://some.com/fanky.mp3";
mediaTTS = new Media(url, onSuccessTTS(url), onErrorTTS);
mediaTTS.play();
}
答案 0 :(得分:0)
这可能是因为在当前运行循环结束之前不会重新绘制图像。如果Media.play()
被阻止,则在完成播放之前,您可能看不到图像更改。
要确认我的怀疑,请尝试以下代码:
function playSound(){
var img = $(this).prev();
img.attr("src", "css/images/ajax-loader.gif?"+new Date().getTime());
setTimeout(function() {
var url = "http://some.com/fanky.mp3";
mediaTTS = new Media(url, onSuccessTTS(url), onErrorTTS);
mediaTTS.play();
}, 100);
}
答案 1 :(得分:0)
尝试删除src属性,然后使用不同的src
再次添加function playSound(){
var img = $(this).prev();
img.removeAttr("src").attr("src","css/images/ajax-loader.gif?"+new Date().getTime());
var url = "http://some.com/fanky.mp3";
mediaTTS = new Media(url, onSuccessTTS(url), onErrorTTS);
mediaTTS.play();
}