[英]Jquery refresh image after source change
我有一個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();
}
這可能是由於在當前運行循環結束之前不會重新繪制圖像的事實。 如果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);
}
嘗試刪除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();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.