2016-04-15 7 views
-1

Я новичок в программировании JS, но я хочу создать свой собственный скрипт, чтобы практиковать больше, но мне нужна помощь. Итак, у меня есть простое создание массива в начале моего сценария:Невозможно заполнить массив в JavaScript

Var  
viewportHeight = $(window).height(); 
contentTop = [0, viewportHeight, viewportHeight*2, viewportHeight*3, viewportHeight*4]; 

А потом в середине коды мне нужно иметь функцию, которая вызывает на изменениях размеров окна и пополняет массив новых значений.

$(window).resize(function() { 
    for (i = 0; i < contentTop.length; i++) { 
    contentTop[i] = { 
     viewportHeight * i 
    }; 
    } 
}); 

Нечто подобное должно работать и на других языках программирования, но не работает в JS, по крайней мере в моем случае. Есть ли другой способ сделать это?

Спасибо заранее,

Alex

+2

Что вы имеете в виду под «не работает»? Какова конкретная ошибка, с которой вы сталкиваетесь? –

+1

Просто опускаем Curlies: 'contentTop [я] = viewportHeight * я,' – georg

+0

SyntaxError: отсутствует: после того, как свойство идентификатора в этой строке contentTop [я] = \t \t \t {viewportHeight * я}; –

ответ

0

Опустить Curlies, а затем попытаться как - contentTop [я] = viewportHeight * я;

1

Вам нужно переназначить переменную viewportHeight, когда размер окна изменяется, а также удалить фигурные скобки

$(window).resize(function() { 
    viewportHeight = $(window).height(); // without this line the values are never changed 
    for (i = 0; i < contentTop.length; i++) { 
     contentTop[i] = viewportHeight * i; // curly braces removed 
    } 
}); 
+0

@Alex Medinsh Jr попробуйте код, который это поможет. –

+0

Спасибо, это действительно работает, наконец, я закончил свой проект! –

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