У меня есть несколько проблем, и я думаю, что это из-за того, как я объявляю массив. Я использую jQuery, и я хочу объявить глобальный массив, чтобы я мог использовать его элементы внутри своих функций. То, как я это делаю сейчас, когда я пытаюсь использовать элементы в функции, они ограничены. Я сделал консольный журнал массива и, похоже, показал, что в нем есть вещи (даже те вещи, которые я хочу), но затем, когда я выполняю функции jQuery на тех элементах, которые он мне сообщает
Невозможно прочитать свойство "верх" неопределенного
Кроме того, я много не использовал массивы в JS, только в C++, поэтому, возможно, проблема с моим синтаксисом? Вот грубая копия кода, который у меня есть:
var pigs = new Array();
pigs[0] = $('#foo');
pigs[1] = $('#bar');
$(document).ready(function(){
console.log(pigs);
var topCoord = pigs[0].offset().top;
});
Я думаю, что $('#foo')
и $('#bar')
возвращают пустые объекты jQuery. Вы должны дождаться готовности DOM перед тем, как запросить его:
var pigs = new Array();
$(document).ready(function(){
pigs[0] = $('#foo');
pigs[1] = $('#bar');
console.log(pigs);
var topCoord = pigs[0].offset().top;
});
$('#foo')
будет возвращать элемент передdocument.ready