2012-04-26 3 views
0

写真のリンクをphotoswiperに渡してフォトワイパーで写真を見ることができます。xmlの写真リンクを最初に読んでPhotoswipeを使って開きます

残念ながら、jquery xml parseはグローバル変数を変更できません。 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)); 

答えて

0

私は今ではあなたはおそらくあなたの問題を解決したと思いますが、あなたのURLは、このようにする必要があり、コロンの間であってはならない。という何をやっていると言っている、それ以外の場合は

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

URLは実際にはcars[x]です。もちろん、そのURLは決して見つかりません。