0

友人と一緒にプロジェクトに取り組んでいますが、クリックしてギャラリーを表示した後、再初期化する方法がわかりません。何かご意見は?提供されるコード:

jQuery(document).ready(function(){
    fetchAlbumList();
});

function fetchAlbumList() {
    jQuery.ajax({
        url:'https://picasaweb.google.com/data/feed/api/user/107232985562777672515' + '?alt=json&callback=?',
        dataType:'json',
        success:function(data){
            var albumList = '';
            for (var i = 0; i < data.feed.entry.length; i++) {
              albumList += '<li class="onethird column"><div class="pod"><div class="podContent">';
              albumList += '<img src="' + data.feed.entry[i].media$group.media$content[0].url + '"/>';
              albumList += '<h2>' + data.feed.entry[i].media$group.media$title.$t + '</h2>';
              albumList += '<a href="javascript:void(0)" onclick="fetchAlbum(&quot;' + data.feed.entry[i].id.$t + '&quot;)" class="button">View Gallery</a>';
              albumList += '</div></div></li>';
            };

            jQuery('.albumList').html(albumList);
        }
    });
}

function fetchAlbum(albumID) {
    jQuery.ajax({
        url:albumID.replace('entry','feed') + '&callback=?',
        dataType:'json',
        success:function(data){
            console.log(data);

            jQuery('.albumPhotos').html('');

            var photoList = '<ul class="slides">'
            for (var i = 0; i < data.feed.entry.length; i++) {
              photoList += '<li><img src="' + data.feed.entry[i].content.src + '"/></li>';
            };
            photoList += '</ul>'
            var href = jQuery(this).attr('href');

            var albumPhotos = '<h2>' + data.feed.title.$t + '</h2>';
            albumPhotos += '<div class="sliderWrapper"><div id="slider2" class="flexslider">';
            albumPhotos += photoList;
            albumPhotos += '</div><div id="carousel2" class="flexslider">';
            albumPhotos += photoList;
            albumPhotos += '</div></div>';

            jQuery('.albumPhotos').html(albumPhotos);

            jQuery('#carousel2').flexslider({
                animation: "slide",
                controlNav: false,
                animationLoop: false,
                slideshow: false,
                itemWidth: 210,
                itemMargin: 5,
                asNavFor: '#slider2'
            });

            jQuery('#slider2').flexslider({
                animation: "slide",
                controlNav: false,
                animationLoop: false,
                slideshow: false,
                sync: "#carousel2"
            });
        }
    });
}

それを再初期化する方法についての助けが必要です。開始コールバックが必要になると考えていますが、間違っている可能性があります。

4

1 に答える 1

0

Flexslider からスライドを動的に追加/削除する場合は、次を使用する必要があります。

$('#slider').data('flexslider').addSlide(obj);
$('#slider').data('flexslider').removeSlide(obj);

これは相対的かもしれません。 jQuery FlexSlider を使用してスライドを追加または削除する

于 2013-04-22T07:14:27.317 に答える