Как мне перебрать эту таблицу и извлечь всю информацию для слайд-шоу? - PullRequest
2 голосов
/ 08 мая 2011

У меня есть массив в jquery, который состоит из подмножеств ответов на вопросы, но до Пользователь получает ответы на вопросы. Я хочу отобразить ответы пользователя для запоминания. Может кто-нибудь объяснить, как Я могу перебрать массив и извлечь каждое изображение по очереди?

var imageAnswers = {"q1toQn": [
    {"q1": [
        {"src": "./images/q1/cow", "alt": "cow", "id": "cow"},
        {"src": "./images/q1/horse", "alt": "horse", "id": "horse"},
        {"src": "./images/q1/pig", "alt": "pig", "id": "pig"},
        {"src": "./images/q1/sheep", "alt": "sheep", "id": "sheep"}
    ]},
    {"q2": [
        {"src": "./images/q2/apple_", "alt": "apple", "id": "apple"},
        {"src": "./images/q2/pear_", "alt": "pear", "id": "pear"},
        {"src": "./images/q2/orange_", "alt": "orange", "id": "orange"},
        {"src": "./images/q2/pineapple_", "alt": "pinaapple", "id": "pineapple"}
    ]},
    {"q3": [
        {"src": "./images/q3/chair", "alt": "chair", "id": "chair"},
        {"src": "./images/q3/bookcase", "alt": "bookcase", "id": "bookcase"},
        {"src": "./images/q3/chest", "alt": "chest", "id": "chest"},
        {"src": "./images/q3/table", "alt": "table", "id": "table"}
    ]}, ...

и т. Д. И т. П.

и вот что я делаю, чтобы попытаться получить информацию:

    var infoTableIndex = 0;

j(function(){
    j("#nextButton").click(
        function(){
            j("#slideshow").not(":animated").animate({"left": "500px", "opacity": "0.3"}, 1000,
            function(i){
                infoTableIndex++;

                j("#slideshow").attr("src", imageAnswers.q1toQn[infoTableIndex].q1[i+1].src + ".png");
                j("#slideshow").css("left", "-500px");
                j("#slideshow").animate({"left": "40px", "opacity": "0.1"}, 500);
            })
        }//no sc
    );
});

Я получаю ошибку:

TypeError: Результат выражения 'ImageAnswers.q1toQn [infoTableIndex] [undefined] не является объектом.

Заранее спасибо за любую помощь.

1 Ответ

1 голос
/ 08 мая 2011
Функция «complete» обратного вызова

.animate() не отправляет ни индекс, ни какой-либо параметр, поэтому ваш i не определен.

Если это должен быть последовательный параметр, вы можете использовать тот же infoTableIndex var, поэтому у вас будет:

imageAnswers.q1toQn[infoTableIndex].q1[infoTableIndex+1].src

Надеюсь, это поможет. Приветствия

PS: Было бы хорошо, если бы вы лучше объяснили логику своего слайд-шоу и привели пример

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...