2009-09-15 28 views

回答

0

您有Load事件Jquery img.load question

工作 - 編輯

var myImg = new Image(); 
myImg.src = "my.jpg"; 

var myFunction = function(){ 
    //code... 
} 

myImg.onLoad = function() { 
    myFunction(); 
} 

Obj Img

你應該擴展這個例子您的需要。我希望它會有用。

+0

我不認爲OP使用jQuery(雖然這是一個很好的建議) – 2009-09-15 14:09:09

+0

沒有必要使用jQuery。我編輯回覆,以便看到示例 – 2009-09-15 15:58:21

3

除了事實,這是不是一個好主意,有長期運行的JavaScript代碼,你可以顯示圖像,並使用window.setInterval()啓動的javascript:

showBusy(); 
window.setTimeout(function() { startLongCode(); }, 100); 

這將顯示忙指示燈,並在100ms後啓動您的功能。

+0

只有1ms的延遲應該足以添加異步性(允許圖像在文檔中顯示)。 – 2009-09-15 15:18:44

+0

+1,長時間運行的javascript會在某些瀏覽器中觸發警告,以允許用戶停止腳本。有些瀏覽器有最大數量的指令,有些有寬限期。 如果您將指令集成到setInterval中,每次迭代處理100-1000個項目,您應該能夠避免它,並且還能夠呈現進度條等。 – 2009-09-15 15:59:14