0

我有一个二维数组——“dbArray”——这是 Tobias Zeising 的“simplecarousel”的数据。dbArray 中的每个数组都是由 2 个字符串组成的数组。我想使用每个字符串的第一个字符串并将其放在轮播的分页按钮内。但是如果不在分页代码中再次执行相同的循环,我不知道该怎么做。谁能给我一个线索?!

这是我的 ajax 构建数组并初始化轮播:

//--------------------------------------    
// COLLECT from db / build carousel
//--------------------------------------
$ajax_load.insertBefore('#content');
$.ajax({
    url: 'func/load-words.php',
    dataType: 'json',
    success: function(dbArray) {
        var items = '<ul id="carousel" class="carousel">';
        for (var i in dbArray) {
            items += '<li><h2>' + dbArray[i][0] + '</h2><p>' + dbArray[i][1] + '</p></li>';
        }
        items += "</ul>";                   
        $ajax_load.fadeOut('slow', function() {
            $(this).remove();
        });

        $("#content").html(items).fadeIn('slow', function() {
        }); 

        $("#carousel").simplecarousel({
            fade: 100,
            pagination: true
        });

    }
});

这是 simplecarousel 的分页部分:

// include pagination
if(config.pagination != false) {
    container.after('<ul class="carousel-pagination"></ul>');
    var pagination = container.next('.carousel-pagination');
    for(var i=0;i<config.items;i++) {
        if(i==0)
            pagination.append('<li class="carousel-pagination-active">button</li>');
        else
            pagination.append('<li>button</li>');
    }

    pagination.find('li').each(function(index, item) {
        $(this).click(function() {
            slide(index,true);
        });
    });
}
4

1 回答 1

0

我似乎最初是通过声明一个全局 paginationWords 变量并在 ajax 循环中将 dbArray 传递给它来使其工作的:

    success: function(dbArray) {
        var items = '<ul id="carousel" class="carousel">';
        paginationWords = dbArray;
        // etc...

然后在轮播分页代码中,我再次退出循环:

// include pagination    
if(config.pagination != false) {
    container.after('<ul class="carousel-pagination"></ul>');
    var pagination = container.next('.carousel-pagination');

    for(var i=0;i<config.items;i++) {
        if(i==0) 
            for (var n in paginationWords) {
                pagination.append('<li>'+paginationWords[n][0]+'</li>');
            }

            //pagination.append('<li class="carousel-pagination-active">button</li>');
        // else
            //pagination.append('<li></li>');
    }

    pagination.find('li').each(function(index, item) {
        $(this).click(function() {
            slide(index,true);
        });
    });
}
于 2012-07-17T16:10:34.273 回答