Один ID для двух элементов.

  • Автор темы Автор темы Zest
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
Ответ: Один ID для двух элементов.

Понял, разберемся.

Но вот какая параллельная тема. Ваш скрипт в принципе не должен работать. Причину я выше объяснял. Это совершенно определенно так и должно быть. И так происходит с IE. Он просто зависает на все время задержек и фон не двигает, ресурсы процессора потребляются в финале выкатывается мессага типа такой:

---------------------------
Microsoft Internet Explorer
---------------------------
A script on this page is causing Internet Explorer to run slowly. If it continues to run, your computer may become unresponsive.

Do you want to abort the script?
---------------------------
Yes No
---------------------------

(если кто не знает мессаги винды копируются простым нажатием Ctrl+C)

Равно тоже самое происходит и в 7-м Ишаке. Только там фон хотя бы появляется изначально, а потом зависон и в финале процитированный выше вопль.

Толерантность Оперы подтверждается в который раз. Насчет фона - я смоделирую условия и выложу образец, разберемся.
 
Ответ: Один ID для двух элементов.

он и в сафари то же самое выдает
ну да, надо исправить по-человечески, и посмотреть.
 
Ответ: Один ID для двух элементов.

Что такое Сафари?

Вы по-прежнему склоняетесь к подбору бровзера под глюки кода?

---

Ха-ха, знатно я притупил!!! Я пишу это сообщение убив только что созданное сообщение насчет моделяжа ситуации. Я процитировал измененный код скрипта без проверки nodeType и подумал "А зачем тут поддержка анимации второй картинки - ее же в примерах нет вообще". Убрал поддержку анимации второй картинки и все чудесным образом заработало!

Что самое забавное - у меня в каментах стояло объяснение проблемы открытым русским текстом черным по белому:

Код:
	var e=document.getElementById(a);
	var d = e.firstChild;
	// 	если есть дочерний элемент то определить коэффициент инкремента

А кто он - дочерний элемент, то есть первый ребенок элемента с ID? Если это вложенный в див тэг анкор - то хорошо, а если это вложенный в анкор текст (перенос строки который добавляет гребаная Опера) то получается ссылка на элемент есть, но элемент не имеет атрибута style!

Таким образом проблема и будет решаться. Нужно добавить собственный ID для ребенка, который просто конкатенировать из ID родителя + ключевое слово. И определять ссылку на него точно также, как для родителя.
 
Ответ: Один ID для двух элементов.

Кстати, по анимации. Скольжение фона по вертикали реализуется очень просто, поскольку высота контейнера фиксированная. Делим ее на требуемое количество кадров и умножаем округленный коэффициент затем на счетчик. Но вторая картинка скользит по горизонтали, а ширина контейнера пропорциональна ширине окна бровзера. Поэтому приходится это все вычислять и округлять прямо в скрипте. В принципе можно тоже самое делать для высоты превратив скрип в универсальный.

Так вот, насчет универсальности. Собственно ее нет и весь код сугубо приватный, поэтому никаких детей у родительского дива не планировалось кроме анкора. То есть никакого текста в контейнеры не писалось и не надо этого вообще. Но проблема возникла именно с Оперой, которая тупо добавляла пустую текстовую ноду в див или анкор если закрывающий тэг оказывался на следующей строке.

То есть мой код - var d = e.firstChild - абсолютно справедлив в рамках запланированной структуры хтмл. Не может быть и меня ничего в родительском тэге кроме еще одного контейнера с картинкой в фоне. Не может и не должно быть. На это и был сделан простой расчет с целью минимизации кода.

Но прелестная Опера все обломила. А зачем, спрашивается, вообще заботиться о маргиналах? Пускай смотрят без анимации и без всего остального.

Поскольку на вебе остались тестовые файлы, можете посмотреть как это НЕ работает из-за текста в контейнере: www.edem24.ru/test.html Позже я их удалю.
 
Ответ: Один ID для двух элементов.

Все, запузырил. Благодаря XSLT это заключалось в добавлении одной строчки к шаблону:

<xsl:attribute name="id"><xsl:value-of select="@id"/>sp</xsl:attribute>

В скрипте было приятно покилять лишние проверки и добавить определение ссылки на элемент по ID родителя + ключевое слово 'sp' - second picture.
 
Статус
Закрыто для дальнейших ответов.