Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.05.2010, 17:43
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

Не работает меню
Почему IE не хочет хавать этот код?

(function () {
	var nodes = document.getElementById('menu').getElementsByTagName('a');
	for (var i = 0; i < nodes.length; i++) {
		nodes[i].onmouseover = function () {
			if (this.nextSibling.nextSibling.className == 'sbc') {
				document.getElementById('submenu').innerHTML = this.nextSibling.nextSibling.innerHTML;
			} else {
				document.getElementById('submenu').innerHTML = '';
			}
		}
	}
})();


В самом меню сначала прописаны ссылки, а за ними — скрытый див с содержимым подменю, содержимое которого вставляется чуть ниже самого меню при наводке мыши на пункт.
Ответить с цитированием
  #2 (permalink)  
Старый 24.05.2010, 17:56
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от exec
this.nextSibling.nextSibling
Вот на это не стоит надеяться.
Ответить с цитированием
  #3 (permalink)  
Старый 24.05.2010, 18:05
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

Kolyaj, а как тогда писать нужно?
Ответить с цитированием
  #4 (permalink)  
Старый 24.05.2010, 18:09
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Проверять у nextSibling'ов nodeType (IE пробелы между тегами учитывает), а лучше заверстать по другому, чтобы легче было найти нужный элемент.
Ответить с цитированием
  #5 (permalink)  
Старый 24.05.2010, 18:27
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

Решил проблему по-другому — для IE ставлю this.nextSibling, а для нормальных браузеров — this.nextSibling.nextSibling, всё работает.
Спасибо за наводку.
Ответить с цитированием
  #6 (permalink)  
Старый 24.05.2010, 18:44
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Потом по какой-то причине пробелы между тегами у вас пропадут и скрипт перестанет работать.
Ответить с цитированием
  #7 (permalink)  
Старый 24.05.2010, 19:01
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

Не пропадут.
Ответить с цитированием
  #8 (permalink)  
Старый 25.05.2010, 09:25
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Пропадут. Причем когда ты будешь в отпуске
Ответить с цитированием
  #9 (permalink)  
Старый 25.05.2010, 10:09
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

У меня нет отпусков.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт меню работает только под IE7 и выше TAILER Internet Explorer 1 31.08.2009 13:21
Скрипт меню не работает только в Firefox somatic Firefox/Mozilla 2 28.07.2009 03:23
JS меню работает на обычной html странице, а на юкозовском движке нет. adware Я не знаю javascript 10 16.05.2009 16:48
Не работает меню навигации! AquaGen Internet Explorer 6 03.03.2009 02:40