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

HTML+CSS+JavaScript

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

 

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

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

тема: Раскрывающееся меню
 
 автор: klever   (06.04.2009 в 04:09)   письмо автору
 
 

Доброе время суток. Прошу не пинать сильно за ламерские вопросы - в технологиях JavaScript сейчас двоечник :).

Есть раскрывающееся меню:
<html>
<head>
</head>

<script language=JavaScript>
function clickHandler() 

var targetId, srcElement, targetElement; 
srcElement = window.event.srcElement; 
if (srcElement.className == "Outline") 
{
targetId = srcElement.id + "details"; 
targetElement = document.all(targetId); 
if (targetElement.style.display == "none")
{
targetElement.style.display = ""; 
}
else 
{
targetElement.style.display = "none";
}
}
}
document.onclick = clickHandler; 
</script>

<script language="JavaScript" src="/inc/secret.js"></script>
<script language="JavaScript" src="/inc/pix.js"></script>

<body >
<span id=Out9 class=Outline style="cursor: hand; text-decoration:none; font-size:11px; font-style:normal; padding:3px;">Меню 1</span><br>
<div id=Out9details style="display:None; position:relative; left:12;"> 
<a href="prof2.html" >Подменю 1</a><br>
<a href="prof1.html" >Подменю 2</a><br>
<span id=Out10 class=Outline style="cursor:hand; text-decoration:none; font-size:10px; font-style:normal; padding:3px;">Раскрывающееся подменю 3</span><br>
<div id=Out10details style="display:None; position:relative; width:140px; left:12;"> 
<a href="prof3.html#krug" >Подподменю 1</a><br>
<a href="prof3.html#kvadrat" >Подподменю 2</a><br>
</div>
<span id=Out11 class=Outline style="cursor:hand; text-decoration:none; font-size:10px; font-style:normal; padding:3px;">Раскрывающееся подменю 4</span><br>
<div id=Out11details style="display:None; position:relative; width:140px; left:12;"> 
<a href="prof4.html#krug" >Подподменю 1</a><br>
<a href="prof4.html#kvadrat" >Подподменю 2</a><br>
</div>
<a href="prof6.html" >Подменю 5</a><br>
<a href="prof7.html" >Подменю 6</a>
</div>
</body>
</html>


Это только часть меню, но отсюда уже видно что оно многоуровневой вложенности, и состоит с многих пунктов меню. Проблема в Firefox (у меня 3-я версия) - не раскрывается.

Очень прошу помощи. Спасибо.

  Ответить  
 
 автор: PAT   (06.04.2009 в 04:54)   письмо автору
 
   для: klever   (06.04.2009 в 04:09)
 

Скрипт ваш написан ТОЛЬКО и ИСКЛЮЧИТЕЛЬНО для браузера MSIE - только
он ОДНОВРЕМЕННО поддерживает свойство srcElement, коллекцию document.all и
значение hand для свойства cursor.

Браузер Opera коллекцию document.all кое-как поддерживает, но не понимает
свойства srcElement и hand для курсора.

Ну а для FireFox все три эти понятия неведомы.

Держите кроссбраузерный вариант вашей функции:
<script>
function clickHandler (e) 

var evt = window.event || e, obj = evt.target || evt.srcElement;
if (obj.className == 'Outline') 
   with (document.getElementById (obj.id + 'details').style) display = (display == 'none') ? '' : 'none'; 
}
document.onclick = clickHandler; 
</script>

И замените везде cursor: hand на cursor: pointer

  Ответить  
 
 автор: klever   (07.04.2009 в 02:55)   письмо автору
 
   для: PAT   (06.04.2009 в 04:54)
 

Не предела моей радости и благодарности Вам за оказанную бооооллььшшууууююю помощь. Все отлично работает под три браузера. Советую для новичков в JavaScript (таких как я) сохранить текст данного скрипта и использовать в дальнейшем при необходимости создании раскрывающего меню.

Еще раз огромное спасибо Вам, уважаемый PAT

  Ответить  
Rambler's Top100
вверх

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