jcarousel и список друзей

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
Ответить
Глеб
Сообщения: 57
Зарегистрирован: 16 дек 2009, 19:27

jcarousel и список друзей

Сообщение Глеб »

Пытался вывести список друзей в приложении с помощью jcarousel
делал при помощи урока http://flapps.ru/forum/topic3484-10.html#p28258 , но проблема в том, что в jcarousel выводит только макс. количество друзей по длине самой карусели, а стрелки для прокручивания не работают. Кто знает как реализовать, чтобы в нем отображались все друзья? Заранее спасибо))
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: jcarousel и список друзей

Сообщение Александр »

Как добавляешь в карусель?
Глеб
Сообщения: 57
Зарегистрирован: 16 дек 2009, 19:27

Re: jcarousel и список друзей

Сообщение Глеб »

Это как считываю друзей

Код: Выделить всё

<script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script><script type="text/javascript" charset="cp1251" >window.onload = (function() {    VK.init(function() {        // выполняем запрос получения списка друзей        VK.api("friends.get", {}, function(dataAllFriends) {             VK.api("friends.getAppUsers", {}, function(dataAppUsers) {                     var frCount = dataAllFriends.response.length;                     var appCount = dataAppUsers.response.length;                                         var App = dataAllFriends.response;                     var AppCount = App.length;                    document.getElementById('uids_count').innerHTML = 'Количество друзей: ' + AppCount;                                         if (AppCount>0) {                                          if (AppCount<4) {                             var AppUids = App.join(',');                        } else {                             var uidCount = 20;                            var uidArr = [];                                                        for (i=0;i<uidCount;i++) {                                var max = App.length-1;                                var rand = Math.floor(Math.random()*max);                                uidArr.push(App[rand]);                                App.splice(rand,1);                            }                             AppUids = uidArr.join(',');                        }                                                                                                VK.api("getProfiles", {uids:AppUids,fields:"photo_rec"}, function(data) {                             var profilesCount = data.response.length;                                                        var profilesStr = '';                                                        for (var i=0; i<profilesCount; i++) {                                profilesStr += '<a href="http://vk.com/id' + data.response[i].uid + '" title="' + data.response[i].first_name + ' ' + data.response[i].last_name + '" target="_blank"><img src="' + data.response[i].photo_rec + '" /></a> ';                            }                            document.getElementById('friends_list').innerHTML = profilesStr;                                                    });                    }            });        });    });});</script>
Это скрпит самой карусели

Код: Выделить всё

<script type="text/javascript" src="../lib/jquery.jcarousel.min.js"></script><!--  jCarousel skin stylesheet--><link rel="stylesheet" type="text/css" href="../skins/tango/skin.css" /> <script type="text/javascript"> jQuery(document).ready(function() {    jQuery('#mycarousel').jcarousel();}); </script>
Это как передаю в карусель

Код: Выделить всё

<div id="wrap">  <ul id="mycarousel" class="jcarousel-skin-tango"><li> <div id="uids_count"></div><div id="friends_list"></div></li>  </ul></div>
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: jcarousel и список друзей

Сообщение Александр »

Глеб
Почитай документацию по карусели. Наверняка надо передавать каждого друга внутри li, а не запихнуть div в li, чтобы подогнать под тупо скопированный код.
Глеб
Сообщения: 57
Зарегистрирован: 16 дек 2009, 19:27

Re: jcarousel и список друзей

Сообщение Глеб »

в том и проблема, что документация только на английском, а с переводчиком там такая хрень получается(((
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: jcarousel и список друзей

Сообщение Александр »

Глеб
Примеры там есть? Открой их код и посмотри.
А английский всё равно желательно подучить.
Аватара пользователя
Mihailow_du
Сообщения: 63
Зарегистрирован: 24 янв 2012, 18:26

Re: jcarousel и список друзей

Сообщение Mihailow_du »

Глеб. В том и ошибка, что в любой карусели нужно пролистывать энное-количество элементов, в твоем же случае,
ты передаешь ей всего один элемент состоящий из 20-и случайных друзей использующих приложение....

Поэтому тебе нужно каждого человека передавать как самостоятельный элемент:
Вот такой принцип:

Код: Выделить всё

var profilesStr = '<div id="wrap"><ul id="mycarousel" class="jcarousel-skin-tango">'; //создал карусельку                           for (var i=0; i<profilesCount; i++) { //циклом перебирая друзей передаешь их как отдельные элементыprofilesStr += '<li><a href="http://vk.com/id' + data.response[i].uid + '" title="' + data.response[i].first_name + ' ' + data.response[i].last_name + '" target="_blank"><img src="' + data.response[i].photo_rec + '" /></a></li>';} var profilesStr += '</ul></div>'; //закрыл каруселькуdocument.getElementById('friends_list').innerHTML = profilesStr;
Теперь если элементов больше чем ширина окна, то должны появится стрелки, а в настройках карусели должна быть опция по сколько элементов (друзей) листатать при нажатии стрелки, по 1 или 5 или сдвинуть всю полоску видимую на текущий момент...
Глеб
Сообщения: 57
Зарегистрирован: 16 дек 2009, 19:27

Re: jcarousel и список друзей

Сообщение Глеб »

Mihailow_du Что-то не получается, у меня вообще тогда пропадает все и карусель и друзья(

Код: Выделить всё

VK.api("friends.get", {}, function(dataAllFriends) {             VK.api("friends.getAppUsers", {}, function(dataAppUsers) {                     var frCount = dataAllFriends.response.length;                     var appCount = dataAppUsers.response.length;                                         var App = dataAppUsers.response;                     var AppCount = App.length;                    document.getElementById('uids_count').innerHTML = 'Количество друзей в приложении: ' + AppCount;                                         if (AppCount>0) {                                          if (AppCount<4) {                             var AppUids = App.join(',');                        } else {                             var uidCount = 20;                            var uidArr = [];                                                        for (i=0;i<uidCount;i++) {                                var max = App.length-1;                                var rand = Math.floor(Math.random()*max);                                uidArr.push(App[rand]);                                App.splice(rand,1);                            }                             AppUids = uidArr.join(',');                        }                                                                                                VK.api("getProfiles", {uids:AppUids,fields:"photo_rec"}, function(data) {                             var profilesCount = data.response.length;                                                        var profilesStr = '<div id="wrap"><ul id="mycarousel" class="jcarousel-skin-tango">'; //создал карусельку                           for (var i=0; i<profilesCount; i++) { profilesStr += '<li><a href="http://vk.com/id' + data.response[i].uid + '" title="' + data.response[i].first_name + ' ' + data.response[i].last_name + '" target="_blank"><img src="' + data.response[i].photo_rec + '" /></a></li>';} var profilesStr += '</ul></div>'; document.getElementById('friends_list').innerHTML = profilesStr;
Аватара пользователя
Mihailow_du
Сообщения: 63
Зарегистрирован: 24 янв 2012, 18:26

Re: jcarousel и список друзей

Сообщение Mihailow_du »

Тут еще не понятно что у тебя за карусель и какая у нее структура. Я видел структуры 3-х видов (не исключено, что их в разы больше)

есть гле элементы перечисляются как пункты <li> в некоторых как <div> а есть и простые где элементы просто перечисляются и все..
Может у тебя твоя и не работает что они перечислены не правильно. Когда страница загрузилась посмотри конечный код - структура
точно совпадает с исходным примером.

А кстати вру еще 4-ый тип видел, там элементы добавляются командой additem так что сложно тебе что то советовывать не зная карусель.
А так я просто подсказал первоочередную ошибку неработоспособности кода...
Аватара пользователя
Mihailow_du
Сообщения: 63
Зарегистрирован: 24 янв 2012, 18:26

Re: jcarousel и список друзей

Сообщение Mihailow_du »

Вот возьми клевую карусельку тут: http://flapps.ru/forum/post40056.html#p40056 (и не забудь поблагодарить автора!!)

З.Ы. и картинки на свои перерисуй...
Ответить