1

他の質問はこれと同様に投稿されていますが、私の問題は、情報をどこに置くべきかわからないということです。そうは言っても、以下のスクリプト内のリストから取得されるアイテムの数を制限しようとしています。スクリプト自体は問題なく動作します。取得するアイテムの数をすべてではなく 6 つに制限する必要があるだけです。これは簡単だと思いますが、他の投稿から挿入したコードのすべての行がうまくいきませんでした。何か助けはありますか?

(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

.each() メソッドの代わりに for ループを試してください。

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

テストされていませんが、これでうまくいくと思います。コメントでマークされている1行だけを変更しました。適用する前に、slice メソッドを使用して配列を 6 つの要素に切り詰めます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 に答える