【发布时间】:2011-07-08 17:30:00
【问题描述】:
我的代码有问题,当我在其中调用同一函数的递归调用时,某些代码不起作用。它必须是 myGalleria = Galleria.get(0); 的东西,但我不知道如何让它全部工作。
文档就绪(仅在我第一次调用函数时显示,第一次一切正常)
$(document).ready(function(){
$.getJSON('getImages.php', {
cat: "123"
}, function(imgData){
createGallery(imgData);
});
});
现在函数本身,请注意,当我点击调用相同函数的.galleria-menuButtons span 时,没有任何工作,Galleria 本身正在创建,但没有别的。
function createGallery(imgData){
$("#gallery").galleria({
image_margin: 30,
clicknext: true,
transition: "fade",
dataSource: imgData
});
myGalleria = Galleria.get(0); // I don't think this works after recursive call
// Adding menu and menu buttons
myGalleria.addElement("menu").appendChild("container", "menu");
myGalleria.addElement("menuButtons").appendChild("menu", "menuButtons");
$.ajax({
url: "menuButtons.php",
success: function(data){
myGalleria.$("menuButtons").html(data);
}
});
// Menu button click events
$('.galleria-menuButtons span').live('click', function(){
alert(this.id);
// Getting jSon data
$.getJSON('getImages.php', {
cat: this.id
}, function(imgData) {
alert(imgData);
createGallery(imgData); // <- Recursive call
});
});
}
window.resize 上有类似的功能,递归调用后也不起作用。
$(window).resize(function(){
$(".galleria-container").css("width", $(window).width());
$(".galleria-container").css("height", $(window).height());
galleriaRescale = Galleria.get(0);
galleriaRescale.rescale(); // <- this is not working either
//sizeBG();
});
【问题讨论】:
-
Galleria.get(0)Galleria 是什么? -
你能举一个活生生的例子吗?这个不是很清楚。
-
是的,它确实会提醒 imgData。 Galleria 是一个图片库插件 - galleria.aino.se
标签: javascript jquery recursion galleria