Jquery SmoothDivScroll не работает с Flickr JSON API - проблема с загрузкой? - PullRequest
1 голос
/ 18 января 2012

Я использую этот скрипт для перетаскивания изображений из фотосета Flickr на мою страницу: (он находится в js-файле flickr2slideshow.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: ""
    });
});
})

Приведенный выше скрипт работает нормально и загружает изображения в div .scrollableArea на моей странице.

ПРОБЛЕМА заключается в том, что я хочу, чтобы эти фотографии отображались в слайд-шоу, использующем скрипт плагина jQuery SmoothDivScroll.SmoothDivScroll отлично работает, когда я использую его с изображениями, которые жестко запрограммированы на моей странице.Однако установленные изображения Flickr не будут работать с SmoothDivScroll при загрузке в div через мой скрипт flickr4slideshow.js).Появляется ТОЛЬКО первое изображение в наборе Flickr, и оно не прокручивается.

Я предполагаю, что изображения из набора flickr все еще загружаются при запуске сценария SmoothDivScroll.Как я могу заставить скрипт ждать или начать работать, даже если набор Flickr все еще загружается в div?

* Я протестировал его, добавив жестко запрограммированные изображения в div .scrollableArea И используяСкрипт Flickr.Когда это происходит, это работает - сначала показываются жестко запрограммированные изображения из html, а затем показываются изображения, установленные в flickr.

1 Ответ

0 голосов
/ 13 апреля 2012

В версии 1.2 появился новый метод, changeContent , с опцией, которая загружает контент из Flickr (RSS-лента). Если у вас есть RSS-лента для фотосета, попробуйте загрузить изображения с помощью этого метода. Вот пример:

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

Прежде чем использовать этот код, вам придется инициализировать плагин. Этот метод используется не очень часто (насколько мне известно), поэтому дайте мне знать, сработает ли он для вас и есть ли какие-либо улучшения, которые я могу сделать в следующей версии.

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...