У меня есть это:
Я пытаюсь загрузить этот js-код, value.id соответствует элементу, который обнаруживается после загрузки страницы. Но на самом деле этот код выполняется до загрузки элемента, и у меня возникает эта ошибка:
Невозможно прочитать свойство nodeType со значением null
Хочу добавить что-то вроде задержки на document.getElementById(value.id)
Я пробовал это, но ничего:
const area = setTimeout(document.getElementById(value.id), 4000);
Count.on(area, counter => {
...
а также:
function setDelay() {
document.getElementById(value.id);
}
setTimeout(setDelay, 4000);
const area = setDelay
Count.on(area, counter => {
...
оба дают одну и ту же ошибку, любая идея ??
И что такое value.id?
Спасибо, как вы рекомендуете мне использовать этот window.onload, используя фрагмент кода, который я отправил в верхней части сообщения. Спасибо!!
весь код работает отлично, у меня заявлены все значения. Мне только нужно знать, как настроить задержку: D
это смотря ... что такое value.id?
value - глобальная переменная?
value.id - это значение, которое установит мой клиент, а не я. Мой клиент создаст элемент, а затем добавит желаемую ценность. Затем мой скрипт примет это значение и получит данные, используя это значение. Вот почему я должен добавить задержку.
да, можно сказать, что это глобальная переменная.
Так вы зависите от ввода пользователя? Тогда вам не нужна задержка, вам просто нужно подключиться к событию, инициированному пользователем ...?
Нет, допустим, я добавляю несколько полей своему клиенту. И мой клиент может решить активировать функцию на каком-то элементе. Он добавляет идентификатор к этому элементу. И мой скрипт берет этот идентификатор и выполняет его. Если я запускаю код не на странице загрузки, после загрузки страница работает отлично. Но мне также нужно иметь возможность запускать это после загрузки страницы, потому что, если в этом поле сохранены какие-то данные, я хочу их прочитать.
Используйте value.onload, чтобы установить функцию, которая вызывается при загрузке значения, то есть, когда ваш клиент будет устанавливать элемент значения.
Привет, Сауд, спасибо, это имеет смысл. Любой пример ?? Спасибо!
value.onload = function() { const area = document.getElementById(value.id); //... }; ... попробуйте что-нибудь в этом роде



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете поместить код в одну функцию и назвать ее функцией setDelay.
function setDelay() {
const area = document.getElementById(value.id);
Count.on(area, counter => {
...
}
setTimeout(setDelay, 4000);
setTimeout ничего не вернет вызывающему абоненту.
Здравствуйте, спасибо Вивек за ответ. Пытался, но ошибка не исчезла. Еще одна идея?
@ K3ny1 Вы должны проверить значение value.id ИЛИ, возможно, вы можете использовать setDelay.bind(this, value.id) и изменить function setDelay(valuesId)
Спасибо всем, я решил это вот так:
$(document).ready(function(){
// your code
});
Вы можете использовать
window.onload, чтобы установить функцию, которая будет вызываться после загрузки страницы ...