Вывод трёх рандомных аватарок из списка друзей.

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
Ответить
wiygn
Сообщения: 3
Зарегистрирован: 28 июл 2011, 05:01

Вывод трёх рандомных аватарок из списка друзей.

Сообщение wiygn »

Здравствуйте, требуется помощь по конкретному заданию. Стоит цель в написании iframe приложения, которое бы выводило 3 рандомных аватарки из списка друзей пользователя. Также в приложении должна быть кнопка refresh, которая бы очищала результаты вывода и брала другие три аватарки.

Для себя вижу структуру такой:
  • • Запрос на получение доступа к друзьям
    • Запрос списка друзей fields: photo
    • Представление прямых ссылок на аватарки в виде списка, например:

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

    http://cs3223.vkontakte.ru/u666/a_6f7cc052.jpghttp://cs3223.vkontakte.ru/u777/a_sdfr352s.jpghttp://cs3223.vkontakte.ru/u555/a_gf443ksl.jpg 
    • Взятие трёх рандомных ссылок из списка и передача их в html
    • Кнопка refresh, которая заново выполняла бы предыдущий пункт и перезагружала iframe
Теперь опишу основные проблемы. Во-первых, с js я знаком не то что "на Вы", а вообще сталкивался с ним редко, к тому же с готовыми примерами, в которых нужно было понимание структуры кода, а не значения :). Во-вторых, вёрстку хочу осуществить на html + css, т.е. сделать 3 div блока, в которых бы размещалась каждая из трёх фотографий.

Подозреваю, что спорные моменты в программе это "представление ссылок в виде списка" и кнопка рефреш, которой придется перезагружать ифрейм, тем самым замедляя скорость работы. От вас хотелось бы услышать что конкретно в js учить и как связать js и html (бегло погуглил перед созданием топика и подозреваю что каким-то образом при помощи jQuery).
tollan
Сообщения: 4
Зарегистрирован: 28 июл 2011, 12:58

Re: Вывод трёх рандомных аватарок из списка друзей.

Сообщение tollan »

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

var userdata; function getRandomInt(min, max)    {      return Math.floor(Math.random() * (max - min + 1)) + min;    }function AddImage(src,dest){var image=document.createElement('img');        image.src=src;        document.getElementById(dest).appendChild(image);}window.onload = (function() { VK.init(function() {  var parts=document.location.search.substr(1).split("&");    var flashVars={}, curr;    for (i=0; i<parts.length; i++) {        curr = parts[i].split('=');        flashVars[curr[0]] = curr[1];            }    var viewer_id = flashVars['viewer_id']; //id_user который смотрит страницу    VK.api("getProfiles", {uids:viewer_id,fields:"uid, first_name, last_name, photo"}, function(data) { //получили список друзей        userdata=(data.response[0]);        var fr = userdata.length;        for(i=1; i<=3; i++){        var img1=userdata[getRandomInt(0,fr)].photo;        AddImage(img1,'dest'+i);        }    });});}window.onload = prepareButton; function prepareButton(){   document.getElementById('refresh').onclick = function()    {                for(i=1; i<=3; i++){         document.getElementById('dest'+i).innerHtml='';        var img1=userdata[getRandomInt(0,fr)].photo;        AddImage(img1,'dest'+i);        }    }}
html

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

<div id='dest1'></div><div id='dest2'></div><div id='dest3'></div><input id="refresh" value="REFRESH" type="button" />

примерно так, не проверялось ошибки сами ищите) без джеквери
wiygn
Сообщения: 3
Зарегистрирован: 28 июл 2011, 05:01

Re: Вывод трёх рандомных аватарок из списка друзей.

Сообщение wiygn »

tollan, спасибо огромное, я думал мне просто укажут что учить, а тут даже и код написать неполенились :) Сейчас сяду посмотрю и буду разбираться в коде.
tollan
Сообщения: 4
Зарегистрирован: 28 июл 2011, 12:58

Re: Вывод трёх рандомных аватарок из списка друзей.

Сообщение tollan »

транспорт только подключить не зщабудьте
<script type="text/javascript" src="http://vkontakte.ru/js/api/xd_connection.js?2">
wiygn
Сообщения: 3
Зарегистрирован: 28 июл 2011, 05:01

Re: Вывод трёх рандомных аватарок из списка друзей.

Сообщение wiygn »

Code corrupted. Insert fresh copy.

Ок, апи был обновлен, поэтому нужно делать так

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

<script src="http://vkontakte.ru/js/api/xd_connection.js?10" type="text/javascript"></script>
Но приложение не работает
tollan
Сообщения: 4
Зарегистрирован: 28 июл 2011, 12:58

Re: Вывод трёх рандомных аватарок из списка друзей.

Сообщение tollan »

там кстати ошибка в коде

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

function prepareButton(){   document.getElementById('refresh').onclick = function()    {               for(i=1; i<=3; i++){         document.getElementById('dest'+i).innerHtml='';     var fr = userdata.length; //нужно добавить        var img1=userdata[getRandomInt(0,fr)].photo;        AddImage(img1,'dest'+i);        }    }}
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Вывод трёх рандомных аватарок из списка друзей.

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

http://flapps.ru/forum/topic3162.html + http://flapps.ru/forum/topic3066.html
Только ещё учитывай, что может выпасть одно и тоже рандомное число...
wiygn писал(а):Подозреваю, что спорные моменты в программе это "представление ссылок в виде списка" и кнопка рефреш, которой придется перезагружать ифрейм, тем самым замедляя скорость работы.
Яваскриптом, без перезагрузки изменить содержание блоков.
Ответить