简体   繁体   English

jQuery从XML文件加载图像集

[英]Jquery load set of images from XML file

hi i've got a script like this : 嗨,我有一个像这样的脚本:

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);

And it opens only a single image from xml, i want to open all images from xml called lightbox. 而且它仅从xml打开一个图像,我想从xml打开名为lightbox的所有图像。

here is my XML file : 这是我的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>

Please for help. 请寻求帮助。

Greetings Krystian 问候克里斯汀

The problem is that in your code, you will open a lightbox for each image. 问题是在代码中,您将为每个图像打开一个灯箱。

What you should do is creating an array containing all the images, and then pass it to the lightbox. 您应该做的是创建一个包含所有图像的数组,然后将其传递到灯箱。

Instead of this: 代替这个:

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

Do this: 做这个:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM