2012-08-09 68 views
1
圖像集

您好,我有一個這樣的腳本:jQuery的負載從XML文件

jQuery(window).ready(function($) { 
    $.fn.prettyPhoto(); 
    $.get("xml/kategoria1.xml",{},function(xml){ 
    $('image',xml).each(function(i) { 
     lightbox = $(this).find("lightbox").text(); 
     openLightbox(lightbox) 
    }); 
}); 
}); 

function openLightbox(path) { 
    $.prettyPhoto.open(path); 

它從XML只打開一個單一的形象,我想從XML稱爲收藏夾打開的所有圖像。

這裏是我的XML文件:

<?xml version="1.0" encoding="utf-8"?> 
<images> 

<image source="Zdjecia/Galeria/Kategoria1/Miniaturki/image1.jpg" lightbox="Zdjecia/Galeria/Kategoria1/Duze/image1.jpg"> 
<lightbox>Zdjecia/Galeria/Kategoria1/Duze/image1.jpg</lightbox> 

</image> 

<image source="Zdjecia/Galeria/Kategoria1/Miniaturki/image2.jpg" lightbox="Zdjecia/Galeria/Kategoria1/Duze/image2.jpg"> 
<lightbox>Zdjecia/Galeria/Kategoria1/Duze/image2.jpg</lightbox> 

</image> 

<image source="Zdjecia/Galeria/Kategoria1/Miniaturki/image3.jpg" lightbox="Zdjecia/Galeria/Kategoria1/Duze/image3.jpg"> 
<lightbox>Zdjecia/Galeria/Kategoria1/Duze/image3.jpg</lightbox> 
</image> 


</images> 

請幫忙。

問候克里斯蒂安

回答

1

的問題是,在你的代碼,你會打開每個圖像的燈箱。

你應該做的是創建一個包含所有圖像的數組,然後將它傳遞給lightbox。

取而代之的是:

$('image',xml).each(function(i) { 
     lightbox = $(this).find("lightbox").text(); 
     openLightbox(lightbox) 
    }); 

這樣做:

images = new Array(); 
$('image',xml).each(function(i) { 
     image = $(this).find("lightbox").text(); 
     images.push(image); 
    }); 
openLightbox(images) 
+0

你是驚人的:d它的工作原理;)我有另一個問題。因爲我從閃光燈發送功能,並從那裏發送一個圖像。我不想打開圖像,它是一個「路徑」,然後從xml – user1559599 2012-08-09 10:03:32

+0

其餘的圖像假設你的第一個圖像來自你的flash代碼被稱爲'flashImage' 只要'images.push(flashImage) ;''在'images = new Array();'之後''。 請標記我的答案爲接受,如果它幫助你:) – 2012-08-09 10:16:49

+0

男人,你是最好的:D!它的工作完美:D 對不起,但我不想問我是否喜歡你告訴我它的工作,但它重複一張照片它不是那麼糟糕,但有可能刪除一個? – user1559599 2012-08-09 10:24:53