Сознавая что тут не тусуются монстры веб-дизайна, тем не менее подкидываю задачку. Сразу говорю что решения нет, есть только обход условий.
Имеется div (или любой другой контейнер) в котором ничего нет. Заданы действительные размеры и контейнер отображает только свой фон - фотку. Контейнер имеет ID для того, чтобы скрипт его нашел и подвинул фон. Это не роловер по ховеру, скрипт двигает фон по 10 пикселов за 20 раз в течении 1 секунды. То есть это анимация. Фон двигается известным способом: .style.backgroundPosition=
Все работает зашибись. Но если в этот контейнер поместить текст - скрипт вылетает с ошибкой "'style' is null or not an object" Данная ошибка буквально означает что данный элемент не имеет атрибута style вообще или это вообще не элемент. Но поиск по инету показал что чаще всего это связано с косяком в коде где один ID используется для двух или более элементов.
Но тут-то ровно один элемент. Все работает. Вписываем текст - не работает.
Разобрав содержимое контейнера находим текстовую ноду - #text - которая, похоже и идентифицируется по тому же самому ID, но не имеет атрибута style и вообще не элемент.
Можно отфильтровать действие скрипта понаставив проверок типа if(.nodeType==1), но хотелось бы понять природу явления и как решить задачу системно.
То есть нужно получить референс на объект так, чтобы он не затрагивал текстовые ноды этого объекта.
Имеется div (или любой другой контейнер) в котором ничего нет. Заданы действительные размеры и контейнер отображает только свой фон - фотку. Контейнер имеет ID для того, чтобы скрипт его нашел и подвинул фон. Это не роловер по ховеру, скрипт двигает фон по 10 пикселов за 20 раз в течении 1 секунды. То есть это анимация. Фон двигается известным способом: .style.backgroundPosition=
Все работает зашибись. Но если в этот контейнер поместить текст - скрипт вылетает с ошибкой "'style' is null or not an object" Данная ошибка буквально означает что данный элемент не имеет атрибута style вообще или это вообще не элемент. Но поиск по инету показал что чаще всего это связано с косяком в коде где один ID используется для двух или более элементов.
Но тут-то ровно один элемент. Все работает. Вписываем текст - не работает.
Разобрав содержимое контейнера находим текстовую ноду - #text - которая, похоже и идентифицируется по тому же самому ID, но не имеет атрибута style и вообще не элемент.
Можно отфильтровать действие скрипта понаставив проверок типа if(.nodeType==1), но хотелось бы понять природу явления и как решить задачу системно.
То есть нужно получить референс на объект так, чтобы он не затрагивал текстовые ноды этого объекта.