Показать сообщение отдельно
  #1 (permalink)  
Старый 12.12.2010, 01:28
Новичок на форуме
Отправить личное сообщение для dadada1916 Посмотреть профиль Найти все сообщения от dadada1916
 
Регистрация: 12.12.2010
Сообщений: 2

Связь активного пункта меню с iframe
Доброго времени суток! Очень необходим добрый совет мастеров JS.

делаю сайт, заготовка проблемного фрагмента здесь http://dadada1916.narod.ru/

А проблема в следующем, на странице имеется меню и <iframe> в котором отображаются страницы вызываемые из меню.

<!-- content -->
<div id="content">
<div id="top">
<h1>Reliable professional equipment for industry.</h1>
<p>From best industrial producers of Europe.</p>
</div>
<div id="left">
<div class="indent-left">
<h1>Products</h1>
</div>
<ul id="mainmenu" class="list-1">
<li><a href="Gearmotors.html" target="iframe"><span>Gearmotors</span></a></li>
<li><a href="ElectricalMotors.html" target="iframe"><span>Electrical motors</span></a></li>
<li><a href="ElectricDrives.html" target="iframe"><span>Electric Drives</span></a></li>
<li><a href="Accessories.html" target="iframe"><span>Accessories</span></a></li>
<li><a href="Gearboxes.html" target="iframe"><span>Gearboxes</span></a></li>
</ul>
</div>
<iframe src="products/Gearmotors.html" name="iframe" height="470" width="690"></iframe>
</div>

Необходимо сделать что-бы активному <li> меню присваивался class="alt-1"

Одним добрым человеком был предложен вариант добавления в каждую страницу следующего кода:
<script type="text/javascript">
window.onload = function(){
mm_items = window.opener.document.getElementById('mainmenu'). getElementsByTagName('LI'); //получаем элементы списка
for(var i=0; i<mm_items.length; i++){ //пробегаем по каждому пункту меню
mm_items[i].className = ''; //очищаем атрибут класса
if(mm_items[i].getElementsByTagName('A')[0].href == window.location.href) //сравниваем ссылку в пункте меню с адресом фрейма
mm_items[i].className = 'act-1'; //если ссылка и адрес совпали, значит, пункт меню активен.
}
}
</script>

но результата нет. Хотелось бы понять почему? Где ошибка? Если есть другой способ реализации этой задачи тоже было бы интересно его узнать.
Ответить с цитированием