【发布时间】:2013-02-18 22:08:33
【问题描述】:
我正在开发一个 jquery 移动网站,该网站将拥有一个由 instagram 中的 JSON/AJAX 填充的图片库。我可以很好地加载图像,但我想更进一步并使用 photoswipe 来渲染画廊。我遇到的问题是,如果我在从 json 提要填充 ul 之后添加对 photoswipe 的调用,ul 实际上并没有被重绘,所以 photoswipe 找不到任何子元素采用。以下是我的脚本:
HTML
<div data-role="page" id="Photos">
<div data-role="header">
<a href="javascript:history.go(-1)" data-icon="back" data-direction="reverse">Back</a>
<h1>Photos</h1>
</div>
<div data-role="content">
<div id="AdBanner">
</div>
<ul id="PhotoList">
</ul>
</div>
</div>
脚本
$("#Photos").live("pagebeforeshow", function(){
$("ul#PhotoList").children().remove('li');
var tag = MyTag
$.getJSON("https://api.instagram.com/v1/tags/" + tag + "/media/recent?callback=?&client_id=####",
function(data){
$.each(data.data, function(i,item){
$("ul#PhotoList").append('<li><a href="' + item.images.low_resolution.url + ' rel="external"><img src="' + item.images.low_resolution.url + '" alt="' + item.caption.text + '" width="200" /></a></li>');
});
});
var photoSwipeInstance = $("ul#PhotoList a").photoSwipe();
});
有没有办法在调用照片滑动发起者之前刷新ul,或者我应该使用其他事件来进行照片滑动?
【问题讨论】:
标签: jquery photoswipe