Я пытаюсь создать переменную (объект), затем отредактировать ее после загрузки DOM. В данном случае в переменной pageQuery находятся селекторы, которые становятся объектами jquery в переменной page.
var pageQuery = {
someSelector: '.select'
}
var page = {};
$(document).ready(function() {
for (var key in pageQuery) {
page[key] = $(pageQuery[key]);
}
});
Но когда я пытаюсь использовать переменную page в другом js файле, также в событии document ready, то получаю ошибку:
TypeError: page.someSelector is undefined
Насколько я понимаю, это происходит из-за того, что оба эти события выполняются асинхронно и независимо друг от друга. Но вообще не понимаю, как тогда решить данную проблему.
UPD1: Также второй скрипт запускается по window.load и window.resize, и там все нормально работает.
UPD2: На счет window.load (точнее $(window).on('load')) я был не прав. Как раз в document.ready все работает прекрасно, а вот с window.load и возникает ошибка. Вообще, window.load почему-то происходит до document.ready, причем это никак не зависит от моего скрипта, это происходит любом документе. Возможно я просто чего-то не понимаю, но мне казалось, что window.load должен в любом случае происходить позже, после полной загрузки страницы.
Размести скрипт с обращением к page.someSelector
внутри подписки на ready
, причём расположенной в коде после того фрагмента, который приведён в вопросе.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Всем привет, я пытаюсь научиться анимации по скроллу и хочу попробовать для этого ScrollMagic совместно с GSAP, но у меня не получается даже скомпилировать...
Есть некий скрипт сбора координат вида [2,1] в массивКоординаты могут повторяться, но итоговый массив должен содержать только уникальные координаты