Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.10.2009, 12:59
Чайник
 
Сообщений: n/a

Проблема со скриптом в IE
Проблема такого рода: Есть вертикальное выпадающее меню которое написано на CSS. для корректного отображения в IE (в других браузерах все работает и без скрипта) используется ява-скрипт. Меню вызывается 3 раза. В первый раз все ОК. В последующих случаях меню не раскрывается ((.
Ответить с цитированием
  #2 (permalink)  
Старый 29.10.2009, 14:59
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Телепаты в отпуске. Где код?!
Ответить с цитированием
  #3 (permalink)  
Старый 29.10.2009, 15:43
Чайник
 
Сообщений: n/a

это код JS:

navHover1 = function() {
	var lis = document.getElementById("navmenu-v1").getElementsByTagName("LI");
	for (var c=0; c<lis.length; c++) {
		lis[i].onmouseover=function() {
			this.className+=" iehover";
		}
		lis[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" iehover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", navHover1);


Это само меню:

<ul id="navmenu-v"> 
    <li><a href="#">бельевой</a> 
    <ul>
       <li><a href="index.php?page=tovar&sub=women_niz1" class="links_meny_pravo">сорочки</a></li> 
        <li><a href="index.php?page=tovar&sub=women_niz2" class="links_meny_pravo">пижамы</a></li>
        <li><a href="index.php?page=tovar&sub=women_niz4" class="links_meny_pravo">халаты</a></li>
        <li><a href="index.php?page=tovar&sub=women_niz3" class="links_meny_pravo">комплекты</a></li> 
        </ul></li>

<li><a href="#">верхний</a> 
      <ul> 
        <li><a href="index.php?page=tovar&sub=women_verh1" class="links_meny_pravo">костюмы</a></li> 
        <li><a href="index.php?page=tovar&sub=women_verh2" class="links_meny_pravo">джемпера</a></li> 
        <li><a href="index.php?page=tovar&sub=women_verh3" class="links_meny_pravo">сарафаны и платья</a></li> 
        </ul> 
        </li>
</ul>


Это вызывается 3 раза. Первый раз раскрывается и дальше нет.

Последний раз редактировалось B~Vladi, 29.10.2009 в 15:54.
Ответить с цитированием
  #4 (permalink)  
Старый 29.10.2009, 15:50
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

this.className=this.className.replace(' iehover', '');

Похоже у тебя не заменяется класс.

Последний раз редактировалось B~Vladi, 29.10.2009 в 15:54.
Ответить с цитированием
  #5 (permalink)  
Старый 29.10.2009, 16:02
Чайник
 
Сообщений: n/a

Простите бестолкового.... ((( куда надо вставить???
Ответить с цитированием
  #6 (permalink)  
Старый 29.10.2009, 16:08
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Твою строку
this.className=this.className.replace(new RegExp(" iehover\\b"), "");

заменить на мою.
Ответить с цитированием
  #7 (permalink)  
Старый 29.10.2009, 16:13
Чайник
 
Сообщений: n/a

Эффект тот же (
Ответить с цитированием
  #8 (permalink)  
Старый 29.10.2009, 16:18
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

В ишаке, в обработчике события this указывает не на элемент, а на window.

Попробуй так:

navHover1 = function() {
    var lis = document.getElementById("navmenu-v1").getElementsByTagName("LI");
    for (var c=0; c<lis.length; c++) {
        lis[c].onmouseover=(function(ele) {
            return function(){ele.className+=" iehover";}
        })(lis[c]);
        lis[c].onmouseout=(function(ele) {
            return function(){ele.className=ele.className.replace(' iehover', '');}
        })(lis[c]);
    }
}

Последний раз редактировалось B~Vladi, 29.10.2009 в 16:27.
Ответить с цитированием
  #9 (permalink)  
Старый 29.10.2009, 16:27
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Заметь, у тебя счётчик - с, а подставляешь ты i. Будь внимательнее.
Ответить с цитированием
  #10 (permalink)  
Старый 29.10.2009, 16:39
Чайник
 
Сообщений: n/a

вообще не одно меню не раскрывается (
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема со скриптом Lightbox F1eldy Общие вопросы Javascript 22 18.08.2010 16:04
Проблема с CSS COKOJIOB (X)HTML/CSS 5 04.08.2009 14:19
Проблема, в менюшке Большой джо Элементы интерфейса 0 12.07.2009 17:12
Проблема спама lliberty AJAX и COMET 1 12.03.2009 16:47
Проблема со скриптом. AlexMak Firefox/Mozilla 3 14.11.2008 16:12