Ошибка в Js

Статус
Закрыто для дальнейших ответов.

Dasuber

Новичок
Регистрация
18.11.2006
Сообщения
1
на своем сайте http://dzim.by.ru вертикальное меню я сделал с помощью JS. Скрипт нормально работает под оперой и ехплорером а вот под ФФ не хочет пишет какуюто ошибку в 54 строке.
Сам текст скрипта вот:
Код:
base_menu_name='Главное меню';
moutcolor='#FFFFFF';  // Цвет пункта меню
movercolor='#dfffcb'; // Цвет пункта меню при наведении курсора
widthOfMenu='150px';  // Ширина меню
var menu=new Array(); // Массив с данными меню

var index=0;		  // Блок первого пункта меню начинается с "var index=0;"
menu[index] = new Array(
	['История',''],
				  ['hist1.shtml','<b>Как&nbsp;появилась</b><br>История&nbsp;деревни<br>насчитывает&nbsp;более<br>360&nbsp;лет<br>'],  // Описание не обязательно,
	['hist2.shtml','<b>Кому&nbsp;принадлежала</b><br>Помещик&nbsp;Капитон<br>Иоаннович&nbsp;владел<br>			деревнями&nbsp;<i>Зимницы</i>&nbsp;<br>и&nbsp;Скрипино<br>'],
	['hist3.shtml','<b>Откуда&nbsp;пошло<br>название&nbsp;<i>Зимницы</i></b><br>Зимница&nbsp;по&nbsp;В.И.Далю<br>				  это&nbsp;изба&nbsp;для&nbsp;зимнего<br>жилья<br>'],
				  ['hist4.shtml','<b>Новое&nbsp;упоминание</b><br>Найден&nbsp;документ,&nbsp;в<br>котором&nbsp;упоминается<br>			  деревня&nbsp;<i>Зимницы</i>']  // В конце последнего пункта подменю запятой быть не должно!
);					   // Заканчивается блок вот этим ");"

index++;				 // Последующие блоки начинаются с "index++;"
menu[index] = new Array(
	['География',''],
	['geo1.shtml','<b>Карты</b><br>Карты&nbsp;и&nbsp;фотографии<br>со&nbsp;спутника<br>'],
	['geo2.shtml','<b>Природа</b><br>Живая&nbsp;и&nbsp;неживая<br>природа<br>'],
	['geo3.shtml','<b>Соседи</b><br>Соседние&nbsp;деревни<br>и&nbsp;села']
);

index++;
menu[index] = new Array(
	['Быт',''],
				  ['foto.shtml','<b>Фотографии</b><br>Фотогравии&nbsp;деревни<br>'],
	['tvorchestvo.shtml','<b>Творчество</b><br>Творчество&nbsp;наших<br>жителей<br>'],
	['bit.shtml','<b>Зимницкий&nbsp;быт</b><br>Как&nbsp;и&nbsp;чем&nbsp;живут<br>жители&nbsp;Зимниц<br>']
);

index++;				 // Последующие блоки начинаются с "index++;"
menu[index] = new Array(
	['Инфо',''],
	['pogoda.shtml','<b>Погода</b><br>Прогноз&nbsp;погоды&nbsp;в<br>Москве,&nbsp;Меленках<br>и&nbsp;Муроме<br>'],	  ['raspisanie.shtml','<b>Расписание&nbsp;электричек</b><br>Расписание&nbsp;электричек<br>Москва&nbsp;=&nbsp;Зимницы<br>Зимницы&nbsp;=&nbsp;Москва<br>']
); // Конец массива

var s_name,mn,d_name,hmenu,x,y;
var timerID = null;
function getScroll()
		 {
		 scrollXY=document.getElementsByTagName((document.compatMode && document.compatMode == 'CSS1Compat') ? "HTML" : "BODY")[0];
	 return scrollXY.scrollTop;
		 }
var oldmenu, oldcell,timerID;
function showmenu(Nmenu)
		 {
		 menu='menu'+Nmenu;
		 cell='d'+Nmenu;
		 if (oldmenu!=null){document.all(oldmenu).style.visibility='hidden';}
		 if (oldcell!=null){document.all(oldcell).style.background=moutcolor;}
	   document.getElementById(cell).style.background=movercolor;
		 x=155;
		 y= getScroll()+event.clientY-event.offsetY;
		 document.all(menu).style.left=x;
		 document.all(menu).style.top=y;
		 document.all(menu).style.visibility='visible';
		 oldmenu=menu;
		 oldcell=cell;
		 clearTimeout(timerID);
		 }
function hidemenu(Nmenu)
		 {
		 menu='menu'+Nmenu;
		 cell='d'+Nmenu;
		 if (oldcell!=null){document.all(oldcell).style.background=moutcolor;}
		 document.all(menu).style.visibility='hidden';
		 }
function hideOldMenu()
		 {
		 hidemenu(oldmenu.slice(4));
		 }


function make_base_menu() // Формирование главного меню
		 {
		 str  = '<table name=\"basemenu\"';
		 str += ' id=\"basemenu\"';
		 str += ' class=\"menuleft\"';
		 str += ' width=\"'+widthOfMenu+'\"';
		 str += ' border=\"0\"';
		 str += ' cellpadding=\"2px\">';
		 str += ' <tr><td name=\"headlink\"';
		 str += ' id=\"headlink\"';
		 str += ' class=\"headmenu\"';
		 str += ' align=\"center\">';
		 str += base_menu_name;
		 str += ' </td></tr>';

		 for (i=1; i<=menu.length; i++)
			 {
			 str_item  = ' <tr bgcolor=\"#FFFFFF\">';
			 str_item += ' <td onmouseover=\"showmenu(' + i + ',event)\"';
			 str_item += ' onmouseout=\"timerID=setTimeout(\'hidemenu(' + i + ',event)\',1000)\"';
			 str_item += ' name=\"d' + i + '\" id=\"d' + i + '\"> &nbsp';
			 str_item += menu[i-1][0][0];
			 str_item += ' </td></tr>';
			 str += str_item;
			 }
		 str +='</table>';
		 return str;
		 }

function make_sl_menu(Nmenu) // Формирование подменю
		 {
		 itemObj=menu[Nmenu];
		 str ='<div name=\"menu'+Nmenu+'\"';
		 str+=' id=\"menu'+(Nmenu+1)+'\"';
		 str+=' class=\"secondmenu\"';
		 str+=' onmouseover=\"clearTimeout(timerID)\"';
		 str+=' onmouseout=\"timerID=setTimeout(\'hidemenu('+(Nmenu+1)+')\',1000)\">';
		 for (i=1; i<itemObj.length; i++)
			 {
			 str_item  = ' <a class=\"m\" href=\"';
			 str_item += itemObj[i][0];
			 str_item += ' \">';		 
			 str_item += itemObj[i][1];
			 str_item += ' </a><br>';
			 str += str_item;
			 }
		 str +='</div>';
		 return str;
		 }

function make_sl_menus() // Поочерёдное формирование всех подменю
		 {
		 result='';
		 for (j=0; j<menu.length; j++)
			 {
			 result+=make_sl_menu(j);
			 }
		 return result;
		 }
ошибку же он(ФФ) видит в этой строчке
Код:
 y= getScroll()+event.clientY-event.offsetY;
причем если оставить первое слогаемое это не вызывит ошибку
 
Статус
Закрыто для дальнейших ответов.
Верх Низ