我在Codeigniter应用程序中使用Supersized jquery插件。我在通过AJAX加载图像时遇到了一些问题。
我想出了这个:
function create_gallery() {
$.getJSON('gallery/create_gallery', {"section": section}, function(images){
if (images.length > 2) {
var supersized_options = {
// lot of options I skipped here...
slides : images,
}
}
else {
var supersized_options = {slides: images};
$('#prevslide, #nextslide').addClass('hidden');
}
$.supersized(supersized_options);
})
}
create_gallery();
在ajax调用中gallery
是控制器,create_gallery
是该控制器内的一个函数。它回应了一个json_encoded数组。
我认为问题是我在另一个函数中调用supersized
函数,这样我就无法访问另一个脚本中的supersized api
。如果我把调用放在函数之外,它会在ajax调用完成之前被调用。我尝试使用$.when()
,但我又遇到了范围问题。
我指定我正在使用Codeigniter因为我认为在php中ajax调用会更简单