我有它运行,除了一两件事确定了以下功能。 有什么它首先附加无关紧要。
(function biograf(){
var placeholder = $('#top-imageholder');
$('ul#biomenu > li').each(function(){
var obj = $(this);
var pageLink = obj.find('a:first').attr('href');
$.get(pageLink, function(data) {
placeholder.append( $(data).find('#top-imageholder').html() );
placeholder.append( $(data).find('#top-imageholder').siblings('ul') );
});
});
})();
我想功能增加占位符我的列表中的物品放置在#biomenu的顺序。
它这样做是90%的时间,但偶尔也以不同的顺序追加。
有什么建议么?
好了它与下面的代码的工作:
(function biograf(){
var placeholder = $('#top-imageholder');
var item = $('ul#biomenu > li');
var index = 0;
(function loop(){
setTimeout(function(){
var pageLink = item.eq(index).find('a:first').attr('href');
if( pageLink != undefined ){
$.get(pageLink, function(data) {
placeholder.append( $(data).find('#top-imageholder').html() );
placeholder.append( $(data).find('#top-imageholder').siblings('ul') );
});
index++;
loop();
}
});
})();
})();
我不知道这是否是最优化的方式,或者如果代码可以tweeked。 但是,它的工程! :)
感谢尽管所有的答复!
订购与结果$.when
(未测试的代码):
(function (){
var placeholder = $('#top-imageholder');
var promises = [];
$('ul#biomenu > li').each(function(){
var obj = $(this);
var pageLink = obj.find('a:first').attr('href');
promises.push($.get(pageLink));
});
$.when.apply(null, promises).done(function() {
$.each(arguments, function(data) {
placeholder.append( $(data).find('#top-imageholder').html() );
placeholder.append( $(data).find('#top-imageholder').siblings('ul') );
return true;
});
});
})();