Member 10709027 Ответов: 1

без знания языка JScript пожалуйста, помогите изменить, чтобы сделать фотокабины работы


Я нашел плагин под названием Photobox, который мне очень хочется реализовать на своем сайте. Это галерея изображений, и ее можно найти по этой ссылке http://codepen.io/vsync/pen/upeBw

Единственная проблема заключается в том, что текущий JScript вызывает фотографии через неправильный API Flickr.

Я попытался изменить используемый метод API, который возвращает самые интересные фотографии за последний день (flickr.interestingness.getList), на метод API, который возвращает фотографии в одном из моих наборов фотографий (flickr.photosets.getPhotos), используя мой собственный ключ API, но я не могу заставить его работать.

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

Это и есть код:

!(function(){ 'use strict';

var numOfImages = window.location.search ? parseInt(window.location.search.match(/\d+$/)[0]) : 70,
    gallery = $('#gallery'),
    videos = [
    ];

// Get some photos from Flickr for the demo
$.ajax({
    url: 'http://api.flickr.com/services/rest/',
    data: {
        format: 'json',
        method: 'flickr.interestingness.getList',
        per_page : numOfImages,
        api_key: 'b51d3a7c3988ba6052e25cb152aecba2' // this is my own API key, please use yours
    },
    dataType: 'jsonp',
    jsonp: 'jsoncallback'
})
.done(function (data){
    var loadedIndex = 1, isVideo;

    // add the videos to the collection
    data.photos.photo = data.photos.photo.concat(videos);

    $.each( data.photos.photo, function(index, photo){
        isVideo = photo.thumb ? true : false;
        // http://www.flickr.com/services/api/misc.urls.html
        var url = 'http://farm' + photo.farm + '.static.flickr.com/' + photo.server + '/' + photo.id + '_' + photo.secret,
            img = document.createElement('img');

        // lazy show the photos one by one
        img.onload = function(e){
            img.onload = null;
            var link = document.createElement('a'),
            li = document.createElement('li')
            link.href = this.largeUrl;

            link.appendChild(this);
            if( this.isVideo ){
                link.rel = 'video';
                li.className = 'video'
            }
            li.appendChild(link);
            gallery[0].appendChild(li);

            setTimeout( function(){ 
                $(li).addClass('loaded');
            }, 25*loadedIndex++);
        };

        img['largeUrl'] = isVideo ? photo.url : url + '_b.jpg';
        img['isVideo'] = isVideo;
        img.src = isVideo ? photo.thumb : url + '_t.jpg';
        img.title = photo.title;
    });

    // finally, initialize photobox on all retrieved images
    $('#gallery').photobox('a', { thumbs:true }, callback);
    // using setTimeout to make sure all images were in the DOM, before the history.load() function is looking them up to match the url hash
    setTimeout(window._photobox.history.load, 1000);
    function callback(){
        console.log('callback for loaded content:', this);
    };
});
})();

Member 13493286

та же проблема и здесь ... вы нашли решение????

1 Ответов

Рейтинг:
0

Member 13493286

та же проблема и здесь ... вы нашли решение????


Patrice T

Откройте новый вопрос.
Я думаю, вам следует спросить автора.