0

私がしたいのは、写真のリンクを配列に保存し、それを photoswiper に渡して、写真を photoswiper で表示できるようにすることです。

残念ながら、jquery xml 解析ではグローバル変数を変更できません。parseXml(xml) 関数内のグローバル変数の値を変更できます。次に、リンクを関数 (window、PhotoSwipe) に渡すことができます。

 var cars = new Array();

 var carcar;

$(document).ready(function()
{
$.ajax({
    type: "GET",
    url: "http://www.utravel.com.hk/mobile-app/news-photo-xml.php?id=3256",
    dataType: "xml",
    success: function(xml) { parseXml(xml); }
        });
});

function parseXml(xml)
{ 
$(xml).find("item").each(function()
{  
carcar="http://www.utravel.com.hk/cms/news_photo/original/"+$(this).find("photo").text().substring(5);
        cars.push(carcar);   

});

}               
    (function(window, PhotoSwipe){

        document.addEventListener('DOMContentLoaded', function(){

            var
                options = {
                    preventHide: true,
                    getImageSource: function(obj){
                        return obj.url;
                    },
                    getImageCaption: function(obj){
                        return obj.caption;
                    }
                },
                instance = PhotoSwipe.attach( 
                    [
                        { url: 'cars[0]', caption: 'Image 001'},
                        { url: 'cars[1]', caption: 'Image 002'},
                        { url: 'cars[2]', caption: 'Image 003'},
                    ], 
                    options 
                );

                instance.show(0);

        }, false);

    }(window, window.Code.PhotoSwipe));
4

1 に答える 1

0

これでおそらく問題は解決したと思いますが、URLはコロンの間にあるべきではなく、次のようになっているはずです。

{ url: cars[0], caption: 'Image 001'},
{ url: cars[1], caption: 'Image 002'},
{ url: cars[2], caption: 'Image 003'},

そうでなければ、あなたがしていることは、URLが実際cars[x]には決して見つからないということです。

于 2012-07-24T23:30:41.250 に答える