2012-03-02 5 views
0

код ниже работает на IE 8 и 9, а также версии FF и Chrome, на которых я тестировал его, но не IE 7. В IE 7 я получаю сообщение об ошибке 'объект не поддерживает это свойство или метод 'происходит.Почему IE7 не нравится этот бит Javascript?

Вот объяснение того, чего я пытаюсь достичь: Массив содержит объекты, которые описывают страницы книги. Я хочу, чтобы иметь возможность выполнять итерацию по массиву, когда пользователь просматривает страницы книги. Причина, по которой я пошел с массивом объектов вместо объекта, полного объектов, была так, что я мог получить доступ к информации о странице, используя номер страницы в качестве ключа массива. (например, чтобы получить изображение страницы 3, я бы назвал страницы [3] .pic). prevPageID и nextPageID реплицируют функциональность связанного списка, так как иногда не все страницы доступны для просмотра, и эти переменные отображают следующие доступные страницы, просматриваемые с текущей страницы. pic - это местоположение изображения страницы, secondLeft и приобретенные - это только данные о покупке.

Я не могу понять, почему это так. Может ли кто-нибудь помочь? Заранее спасибо :-)

var pageId = 2; 
var pages= Array(); 
pages[1] = { 
       prevPageID: 15, 
       nextPageID: 2, 
       pic: "1.jpg", 
       secondsLeft: 0, 
       purchased: 0 
      }; 
pages[2] = { 
       prevPageID: 1, 
       nextPageID: 3, 
       pic: "2.jpg", 
       secondsLeft: 0, 
       purchased: 0  
      }; 
*timeLeft = pages[pageId].secondsLeft * 1000;*//Error occurs on this line 
+0

т.к. это IE7. Вы столкнетесь с несколькими вещами, которые работают по-другому. Если вы объясните, что вы пытаетесь сделать, мы можем помочь с обходным решением для IE7. – Brian

+0

. Я добавил немного объяснений, если этого недостаточно или неясно, скажите об этом, и я попробую еще раз. – scooby123

ответ

0

Массивы начинаются с индекса 0, а не по индексу 1. Это может быть вашей проблемой.

Смежные вопросы