1

其他问题与此类似,但我的问题只是我不知道将信息放在哪里。也就是说,我试图限制从下面脚本内的列表中提取的项目数量。脚本本身运行良好,我只需要将拉取的项目数限制为六个而不是全部。我觉得这很简单,但是我从其他帖子中插入的每一行代码都对我不起作用。有什么帮助吗?

(function($){
 $.ajax({
            type: "GET",
            url: "/homepage_photo_slider/PhotoGallery.xml", 
            dataType: "xml",
            success: function(xml) {
                $(xml).find('img').each(function() {
                   var location = '/homepage_photo_slider/'; 
                   var url = $(this).attr('src');
                    var alt = $(this).attr('alt');

                    $('<li></li>').html('<a href="'+location+''+url+'" class="pirobox" rel="gallery" title="'+alt+'"><img class="thumb" src="'+location+''+url+'" alt="'+alt+'" title="'+alt+'" /></a>').appendTo('#gallery-ul');

             });
            $().piroBox_ext({
            piro_speed : 700,
            bg_alpha : 0.5,
            piro_scroll : true
    });  
            }       
        });     
})(jQuery);
4

2 回答 2

0

尝试使用 for 循环而不是 .each() 方法:

var $images = $(xml).find('img');
for(var i = 0; i < 6; i++)
{
    var $image = $($images[i])
    var location = '/homepage_photo_slider/'; 
    var url = $image.attr('src');
    var alt = $image.attr('alt');

    $('<li></li>').html('<a href="'+location+''+url+'" class="pirobox" rel="gallery" title="'+alt+'"><img class="thumb" src="'+location+''+url+'" alt="'+alt+'" title="'+alt+'" /></a>').appendTo('#gallery-ul');
}
于 2013-04-21T23:41:57.100 回答
0

未经测试,但我认为这应该有效。我只更改了一行,注释中已标记。在应用之前,我使用 slice 方法将数组缩减为六个元素each

(function($){
 $.ajax({
            type: "GET",
            url: "/homepage_photo_slider/PhotoGallery.xml", 
            dataType: "xml",
            success: function(xml) {
                $(xml).find('img').slice(0,6).each(function() { // <--- CHANGED LINE HERE
                   var location = '/homepage_photo_slider/'; 
                   var url = $(this).attr('src');
                    var alt = $(this).attr('alt');

                    $('<li></li>').html('<a href="'+location+''+url+'" class="pirobox" rel="gallery" title="'+alt+'"><img class="thumb" src="'+location+''+url+'" alt="'+alt+'" title="'+alt+'" /></a>').appendTo('#gallery-ul');

             });
            $().piroBox_ext({
            piro_speed : 700,
            bg_alpha : 0.5,
            piro_scroll : true
    });  
            }       
        });     
})(jQuery);
于 2013-04-21T23:36:15.753 回答