Холст / Контекстные проблемы - PullRequest
0 голосов
/ 21 февраля 2011

Я создаю документ, используя тег, и у меня возникла проблема. Я объявил canvas и context как глобальные переменные и заполняю их в своей исходной функции. Кажется, это работает частично, но некоторые функции (например, одна вызывает ширину холста) выдают мне ошибку: «Невозможно вызвать метод getAttribute on null»

Это потому, что я пытался настроить документ таким образом? Я попытался заполнить их, когда они были определены (как они могут быть для локальной переменной), но это, похоже, выдает столько же ошибок!

Я объявляю переменные следующим образом:

var canvas = null;
var context = null;

И заполняем их функцией, которая связана с нагрузкой на тело следующим образом:

canvas = document.getElementById("imageDisplay");
context = canvas.getContext("2d");

Должен ли я заново заполнять их так для каждой функции, которая их использует?

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

Спасибо

1 Ответ

0 голосов
/ 24 октября 2012

Ваша проблема может быть проблемой области видимости.

root или window javascript

var canvas;
var context;
canvas = document.getElementById("imageDisplay");
context = canvas.getContext("2d");

foo();

function foo

foo{
    canvas = document.getElementById("imageDisplay");//errors
    context = canvas.getContext("2d");
}

Если я понимаю (как JavaScript, так и вашпроблема) является правильным холст не определен, потому что foo.canvas отличается от window.canvas.Вам необходимо либо повторно объявить canvas и context в foo, либо использовать window.canvas и window.context, либо передать эти переменные.Я немного новичок в javascript, так что, надеюсь, кто-то еще может заступиться

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...