簡體   English   中英

jQuery在源更改后刷新圖像

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM