Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: не работает меню в mozile
 
 автор: sws   (25.07.2006 в 00:08)   письмо автору
 
 

в опера и в IE все ок.
как переделать javascript грамотно чтоб работало и в мозиле???

   
 
 автор: 12345   (25.07.2006 в 01:12)   письмо автору
 
   для: sws   (25.07.2006 в 00:08)
 

Подойти к делу вдумчиво

   
 
 автор: Padonak   (25.07.2006 в 03:09)   письмо автору
 
   для: 12345   (25.07.2006 в 01:12)
 

--> 12345 ой блин я чуть с кресла не рухнул! ржунимагу :-))

   
 
 автор: sws   (25.07.2006 в 10:01)   письмо автору
 
   для: 12345   (25.07.2006 в 01:12)
 

mazila жалуется на строки :
function mouseEnters() {if ((curSelection != event.toElement) &&("A" == event.toElement.tagName))setStyle(event.toElement,"over");}
function mouseLeaves() {if ((curSelection != event.fromElement) &&("A" == event.fromElement.tagName))setStyle(event.fromElement, "");}

   
 
 автор: Иннокентий   (25.07.2006 в 11:02)   письмо автору
 
   для: sws   (25.07.2006 в 10:01)
 

мозилла не знает, что такое event

   
 
 автор: sws   (25.07.2006 в 16:31)   письмо автору
 
   для: Иннокентий   (25.07.2006 в 11:02)
 

а чем ее можно заменить?

   
 
 автор: 12345   (25.07.2006 в 17:28)   письмо автору
 
   для: sws   (25.07.2006 в 16:31)
 

Мозилла знает event, но смотря где.
Автор вопроса: Вы опять забываете, что все телепаты в отпуске (до сентября). Выкладывайте весь код, относящийся к вопросу.

toElement определено только в IE - (ссылка)
Вижу, что код писан только для IE, и переделать может быть серьёзной проблемой, особенно для незнающих. Если это из коллекции скриптов, то, может, стоит поискать другой.

   
 
 автор: sws   (25.07.2006 в 17:47)   письмо автору
 
   для: 12345   (25.07.2006 в 17:28)
 

Сорри , не хотел засорять...

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Menu</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">

<STYLE TYPE="text/css">
UL.toc A:active, UL.toc A.select{color:red; font-family: Arial; font-size: 20px}
A:LINK {font-family: Arial; font-size: 16px;text-decoration:none}
A:HOVER {font-family: Arial; font-size: 20px; text-decoration:none; font-weight:bold}
a:VISITED {font-family: Arial; font-size: 16px;text-decoration:none}
</STYLE>

<STYLE TYPE="text/JavaScript">
contextual(classes.toc.UL, tags.UL).display = "block";
</STYLE>

<SCRIPT LANGUAGE="JavaScript">

var curSelection = null;

function setStyle(src, toClass) {if (null != src)
src.className = toClass;}

function mouseEnters() { if ((curSelection != event.toElement) &&
("A" == event.toElement.tagName))
setStyle(event.toElement,"over");}

function outliner(){var child = null, el = null;
switch (event.srcElement.tagName) {
case "A":
el = event.srcElement.parentElement
child = document.all[event.srcElement.sourceIndex+1];
break;
case "LI":
el = event.srcElement
child = document.all[event.srcElement.sourceIndex+2];
break;}

if ((null != child) && ("UL" == child.tagName) &&
("LI" == child.parentElement.tagName)) {if ("" == child.className) {child.className = "expanded";
el.className = "open";}
else { child.className = "";
el.className = "closed";}}

if ("A" == event.srcElement.tagName) {if (null != curSelection)
setStyle(curSelection, "");
curSelection = event.srcElement;
setStyle(curSelection, "select");}}
</SCRIPT>

</head>

<body bgcolor="#EDEDED" ONCLICK="return true">

<table width="50%" height="10%" border="1" align="left" CELLPADDING=0 CELLSPACING=0>
<UL CLASS="toc" ONCLICK="outliner();"
ONSELECTSTART="return false;" ONMOUSEOVER="mouseEnters();"
ONMOUSEOUT="mouseLeaves();">
<tr>
<td height="30"><div align="center"><a href="glavn.htm" target="mainFrame">Главная</a></div>
</td>
</tr>
<tr>
<td height="30" ><div align="center"><a href="menu/novosti.htm" target="mainFrame">Новости</a></div>
</td>
</tr>
</UL>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
</body>
</html>

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

   
 
 автор: 12345   (25.07.2006 в 18:04)   письмо автору
 
   для: sws   (25.07.2006 в 17:47)
 

Да, ищите другой скрипт, потому что он с ходу предполагает, что перед ним - IE.


ONMOUSEOVER="mouseEnters();
...
function mouseEnters() { if ((curSelection != event.toElement) ...


2 меню могут не работать на 1 странице, потому что возникает конфликт имён объектов.
Этот код я тоже не мог запустить - требует объект (очевидно, вложенное меню), которого нет в коде.

   
 
 автор: sws   (25.07.2006 в 18:30)   письмо автору
 
   для: 12345   (25.07.2006 в 18:04)
 

я фрэймы использую, или все равно?
opera, IE - все ОК!!! проблема в мозиле ...

   
 
 автор: 12345   (25.07.2006 в 19:10)   письмо автору
 
   для: sws   (25.07.2006 в 18:30)
 

toElement - как я давал ссылку - свойство IE. Переделывать под Мозиллу - писать новый скрипт. В состоянии - делайте, никто не запрещает.

   
 
 автор: Иннокентий   (25.07.2006 в 19:13)   письмо автору
 
   для: 12345   (25.07.2006 в 17:28)
 

ну, я имел ввиду window.event
http://www.webmaster.ee/javascript/JavaScript/window.html#event

   
 
 автор: sws   (25.07.2006 в 22:03)   письмо автору
 
   для: Иннокентий   (25.07.2006 в 19:13)
 

ну я бы написал, да только не умею :-(

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования