Jquery SmoothDivScroll无法使用Flickr JSON API - 加载问题?

时间:2012-01-18 19:59:05

标签: jquery ajax json api flickr

我正在使用这个脚本将Flickr照片集中的图像拉到我的页面中:(它位于一个名为flickr2slideshow.js的js文件中,在我页面的头部调用)

jQuery(document).ready(function($) {
var apiKey = 'I put my API key here';
var setID = 'I put the set ID here';
var userID = 'I put the user ID here';

$.getJSON('http://api.flickr.com/services/rest/?&method=flickr.photosets.getPhotos&photoset_id=' + setID + '&api_key=' + apiKey + '&user_id=' + userID + '&extras=description&format=json&jsoncallback=?', function(data){
    $.each(data.photoset.photo, function(i,item){
        var slideimg = '<img src="http://farm' + item.farm + '.static.flickr.com/' + item.server + '/' + item.id + '_' + item.secret + '.jpg" height="200" />';
        var newthumb = $(".scrollableArea").append(slideimg);
    });

    $("div#makeMeScrollable").smoothDivScroll({
        autoScroll: "always" ,
        autoScrollDirection: "endlessloopleft",
        autoScrollStep: 1,
        autoScrollInterval: 15,
        visibleHotSpots: ""
    });
});
})

上面的脚本工作正常,并将图像加载到我页面中的.scrollableArea div。

问题在于我希望这些照片出现在使用jQuery插件脚本SmoothDivScroll的幻灯片中。当我使用硬编码到我的页面的图像时,SmoothDivScroll工作正常。但是,当通过我的flickr4slideshow.js脚本加载到div中时,Flickr设置图像将无法与SmoothDivScroll一起使用。只有Flickr集中的第一张图像显示出来并且不会滚动。

我的猜测是,当SmoothDivScroll脚本运行时,flickr设置图像仍在加载。即使Flickr集仍然被加载到div中,如何让脚本等待或开始工作?

*我测试过它是通过在.scrollableArea div中添加硬编码图像并使用Flickr脚本来测试的。当发生这种情况时,它可以工作 - 首先显示来自html的硬编码图像,然后显示flickr设置图像。

1 个答案:

答案 0 :(得分:0)

在版本1.2中,有一种新方法 changeContent ,其中包含一个从Flickr加载内容的选项(RSS-feed)。如果您的照片集有RSS-feed,请尝试使用该方法加载图像。这是一个例子:

$("#makeMeScrollable").smoothDivScroll("changeContent", "http://api.flickr.com/services/feeds/groups_pool.gne?id=34427469792@N01&format=json&jsoncallback=?", "flickrFeed", "add", "first");

在使用此代码之前,您必须初始化插件。这种方法并不经常使用(据我所知),所以请告诉我它是否适用于您,以及我是否可以在下一版本中进行任何改进。

祝你好运!