2012-06-02 19 views
0

我正在開發一個插件,爲了使跨瀏覽器工作,需要在其附加的圖像加載後運行。獲取並存儲所有的屬性和值,然後將它們重新應用回相同的元素

我可以使用新的圖像(),然後等待它加載,然後將其追加等

但是,這意味着重新設定所有屬性 S的似乎並不可行因爲一些插件選項可以存儲在數據屬性,這使得它很難讓他們所有的曲目..

如果有更好的辦法,請分享:)

我基本上只需要它附着在圖像加載後實例化我的插件:)

請不要建議

$('img').load(function(){//do something});

,因爲它不工作始終。 :)

乾杯。

+1

'img.load' *應該*一致地工作,意思是「在圖像可用於渲染之後」。究竟它是如何工作不一致? – 2012-06-02 18:24:29

回答

0

你可以在$(window).load()而不是$(document).ready()上初始化你的插件,它會在頁面上的所有內容加載後運行插件。

像這樣:

$(window).load(function(){ 
    // Initialize Plugin 
}); 

唯一需要注意的是,如果該插件使用的所有圖像都已經在DOM這隻會工作。

我希望這有助於!

+0

林不知道依靠我的插件的用戶,以確保他們使用window.load .. –

+0

@Jamesthompson一個很好的觀點;您可以考慮讓插件自動初始化,以便您可以控制插件使用的事件或在用戶文檔中包含說明。 – dSquared

0

如果您試圖在瀏覽器或會話之間保存狀態,我認爲現在無法使用javascript;然而,它很快就會來臨。

我可能是錯的,但我相信你將不得不將數據打包並解包到本地存儲中。

嘗試使用localStorage.setItem('key','value');

你可以使用文檔準備好嗎?

將你的插件包裝在文檔中準備好jQuery。

$(function() { 

      //wrapp plugin 



}) 
+0

也許我試圖做一些可以通過另一種方式實現的事情。我只需要插件在圖像加載後運行。 –

+0

哦,是的,這與要求的方式不同。 –

相關問題