可能这是一个基本的东西,但现在更好地学习,然后再学习。
我在做什么: 我正在实现一个获取xml的库,然后使用一些javascript代码构建我。问题我试图调用两次gallery.init像:
$(document).ready(function(){
galleryXML.init({
xmlPath : "data/gallery.xml",
imgPath : "images",
perView : 4,
id: "#gallery1"
});
galleryXML.init({
xmlPath : "data/gallery.xml",
imgPath : "images",
perView : 4,
id: "#gallery"
});
})
我希望在#gallery中的#gallery1中有一个。有人能告诉我这是什么问题吗?
代码的其余部分是here,只需要下载,解压缩并执行index.html(在firefox中工作,不确定为什么)
提前致谢。
更新
这是现在的一个最小例子,不确定是否代表问题。
http://jsfiddle.net/PSYCKIC/rpNab/2/ - > 已更新
答案 0 :(得分:1)
我认为你的问题可能是你使用相同的变量_P
(你期望的是)两个不同的galleryXML实例。
由于_P
之后的()
,因此在解析javascript代码时会创建并初始化var galleryXML = function() {...}
变量。
所以我想如果你把变量放在galleryXML的init中,你的问题就会解决了。您可以在此处查看代码: jsfiddle.net/rpNab/3/ (请注意,现在每个li
都位于每个图库中,而不是最后一个图库中的li
编辑:我意识到现在通过我的修改,galleryXML模块看起来很丑陋(因为它只有一个方法而且没有变量),所以我做了一个小的重构,以便在里面有更多的方法该类,但现在方法必须接收参数,因为类本身仍然是“静态”,但参数可以使它适用于不同的上下文。希望它有所帮助: jsfiddle.net/rpNab/4/
答案 1 :(得分:0)
看起来它在你的jsFiddle示例中运行得很好。您没有看到li
显示的唯一原因是您忘记为该特定li
添加样式。这是一个更新的jsFiddle,您的代码保持不变且正确的样式。