0

我想要做的是将照片的链接保存到一个数组中,然后将其传递给 photowiper,以便 photowiper 可以查看我的照片。

不幸的是,jquery xml 解析无法更改全局变量。我可以在 parseXml(xml) 函数中更改全局变量的值。然后我可以将链接传递给函数(窗口,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]它当然永远不会被找到的 URL。

于 2012-07-24T23:30:41.250 回答