Страницы

Поиск по вопросам

четверг, 16 мая 2019 г.

Почему значение undefined?

После всех элементов в html файле располагаю скрипт. В объекте page есть объект obj со значением $(".container_main"). В следующем объекте обращаюсь к obj, но браузер выдаёт ошибку.
Пример кода:

Если не использовать объект obj, а напрямую обращаться к $(".container_main"), всё в порядке.
Пример кода, который работает:

В чем проблема?


Ответ

var page = { obj: $(".container_main"), height: this.obj.height(), // this в этом месте это глобальный объект window, а не объект, который Вы создаете, - его еще нет width: this.height * 9/16 }
Сделайте так:
var page = { obj: $(".container_main"), height: function() { return this.obj.height(); }, width: function() { return this.height() * 9/16; } } console.log(page.height(), page.width());

Комментариев нет:

Отправить комментарий