0
我有一個jQuery每個方法的問題。jquery - 每個準備就緒時啓動功能
我的對象
first_obj = {};
first_obj[11] = new Array('http://blub.de', 'hsdfe', 'hsdfe');
first_obj[54] = new Array('http://blub.de', 'sdfe', 'hsdfde');
first_obj[99] = new Array('http://blub.de', 'sdf', 'sdfde');
取得成果,並將其插入對象 「second_obj_results」
second_obj_results = {};
$.each(first_obj, function(i, val)
{
var feed = new google.feeds.Feed("http://www.digg.com/rss/index.xml");
feed.load(function(result) {
if (!result.error) {
var container = document.getElementById("feed");
for (var i = 0; i < result.feed.entries.length; i++)
{
second_obj_results[id] = new Array(''+rsd+'', ''+rtitle+'', ''+fege+''); // Create new obj with the results
}
}
)};
read_new_obj();
,這裏是我的問題
,當我說read_new_obj();
... // d ONT工作
當我說setTimeout('read_new_obj();',2000);
... //它的工作原理
讀取新的OBJ
function read_new_obj()
{
$.each(second_obj_results, function(i, val)
{
// do something
});
}
我認爲問題是, 「得到結果」 還沒有結束。但Timeout的解決方案非常糟糕。 「獲得結果」可能需要2秒以上的時間。
我怎麼說,如果「每個first_object」準備好了 - >啓動函數「read_new_obj」?
提前致謝! 彼得
PS:?對不起,我的英語不好:(
嗨jAndy,它的工作,但功能啓動3次。 – Peter 2010-09-14 09:38:02
我明白了。 - > google.setOnLoadCallback()。 http://translate.google.de/translate?hl=de&sl=auto&tl=zh-CN&u=http%3A%2F%2Fwww.betawax.de%2Fblog%2F2010%2F03%2Fjquery-ready-google-load%2F – Peter 2010-09-14 09:43:44
@Peter :這應該是你想要的結果。您正在循環包含三個entrys的'first_obj'。那麼,但它看起來像你不使用這些信息,很混亂。我期待着您使用first_obj數組中的第一個條目來訪問該網址。 – jAndy 2010-09-14 09:49:22