Хорошо, я ломал голову над этим в течение нескольких дней.Это проблема:
- Я использую API Facebooks для извлечения изображений из определенного альбома.
- Использование JCarousel (http://sorgalla.com/projects/jcarousel/), Я хотел бы динамически добавлять картинки из Facebook в карусель.
- Проблема в том, что, поскольку API Facebook является асинхронным , частькода, который выполняет карусель, требует информацию (URL-адреса изображений), которая еще не доступна.
Обходное решение какого-либо рода заключается в использовании окна предупреждения для принудительной задержки, этопозволяет при запросе API Facebook " догнать ", когда вы подтверждаете предупреждение, и вот, изображения появляются внутри карусели!
Есть ли вообще возможность решить эту проблему. ПослеВ ходе исследования я сталкивался с проблемами similair, решаемыми с помощью функции " Callback ".
Я новичок в области кодирования, поэтому любая помощь будет чрезвычайно полезна.
Iя пытаюсь изменить эту страницу для потокового видеоизображения для электронных книг: http://sorgalla.com/projects/jcarousel/examples/dynamic_javascript.html
Также для выполнения этой работы вам также понадобится скрипт Javascript SDK Facebook
<script src="//connect.facebook.net/en_US/all.js"></script>
Вам также понадобится Jquery.
Наконецниже приведен пример моего кода, часть которого не работает:
$(document).ready(function() {
//the below is an Asynchronous request to facebook
FB.api('/232137976851458' + '/photos', function(response) {
for (i=0;i<=response.data.length;i++)
{
mycarousel_itemList[i] = {url: response.data[i].picture, title: "2"};
}
});
//the alert below is used as a forced break to allow the api to stream the required information, if we remove this alert, the images refuse to load into the carousel
alert("test");
//after the pictures are retrieved from the facebook API, the mycarousel_itemList array will be used to dynamically add the pictures into a carousel.....the code to instantiate the carousel is below
jQuery('#mycarousel').jcarousel({
size: mycarousel_itemList.length,
wrap: "circular",
itemLoadCallback: {onBeforeAnimation: mycarousel_itemLoadCallback}
});
});