1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

2 вопроса по Java Script

Тема в разделе "Web - программирование", создана пользователем yodamiit, 1 фев 2010.

  1. yodamiit

    yodamiit Гость

    Репутация:
    0
    уважаемые программисты, есть 2 детских вопроса:
    Вопрос № 1: Суть проблемы: есть меню, при наведении мышкой кнопка меняет цвет(это работает), далее по умолчанию активна кнопка "главная", при клике по другой кнопке меню она на секунду становится активной и потом активной становится опять "главная" хотя страница остается открыта другая..... если строку "<li><a href="http://www.mysite.ru/1.html" onclick="loadmenu(this)" title="Заказать">Заказать</a></li>"
    изменить на "<li><a href="http://www.mysite.ru/1.html" onclick="loadmenu(this); return false;" title="Заказать">Заказать</a></li>" то кнопки работают как надо и остаются активными но перехода по ссылке не происходит... как с этим бороться?
    скрипт:
    Код:
    <script language="JavaScript"> 
    function loadmenu(node){ 
    var menu = document.getElementById('menu') 
    var li = menu.getElementsByTagName('li') 
    if(node.parentNode.className == ''){ 
    for(var i = 0; i<li.length;i++){ 
    li.item(i).className = '' 
    } 
    node.parentNode.className = 'active' 
    
    } 
    
    } 
    </script>
    html:

    Код:
    <div> 
    
    <ul id="menu"> 
    <li class="active"><a href="http://www.mysite.ru/index.html" onclick="loadmenu(this)" title="Главная">Главная</a></li> 
    <li><a href="http://www.mysite.ru/1.html" onclick="loadmenu(this)" title="Заказать">Заказать</a></li> 
    <li><a href="http://www.mysite.ru/2.html" onclick="loadmenu(this)" title="Партнерство">Партнерство</a></li> 
    <li><a href="http://www.mysite.ru/3.html" onclick="loadmenu(this)" title="Контакты">Контакты</a></li> 
    <li><a href="http://www.mysite.ru/4.html" onclick="loadmenu(this)" title="Скачать">Скачать</a></li> 
    <li><a href="#" onclick="loadmenu(this)" title="">Акции</a></li> 
    </ul> 
    
    </div>
    Вопрос № 2:
    есть скрипт выпадающего меню.... корректно работает только в опере... как с этим бороться? в IE при наведении мыши пропадает цвет фона и не возвращается а mozilla вообще цвет фона не отображает...

    скрипт:
    Код:
    <body> 
    
    <style> 
    td.menu {background-color: #FFE5FA; text-align: center} 
    td.menu a, table.submenu a {color: #990000; text-decoration: none} 
    table.submenu {border: 1px #440000 solid; background-color: #FFE5FA; width: 200px; visibility: hidden; position: absolute; left: 200; text-align: center} 
    </style> 
    
    <script language="JavaScript"> 
    var oldId, oldBgColor; 
    function hiddenLayer(elem) { 
    document.getElementById(elem).style.visibility = 'hidden'; 
    lightOff();} 
    function showLayer(elem) { 
    document.getElementById(elem).style.visibility = 'visible';} 
    function lightOn(elem) { 
    oldId = elem; 
    oldBgColor = document.getElementById(elem).style.background; 
    document.getElementById(elem).style.background = 'FFCCF5';} 
    function lightOff() { 
    document.getElementById(oldId).style.background = oldBgColor;} 
    </script> 
    
    <table cellspacing=2> 
    <tr> 
    <!-- Первый пункт меню --> 
    <td class="menu" width="200px" id="menu0" onMouseOver="showLayer('menu0_list'); lightOn('menu0')" onMouseOut="hiddenLayer('menu0_list')" onClick="document.location = 'menu1.php'"> 
    <a href="">Пункт 1</a> 
    </td> 
    <!-- Подменю первого пункта меню --> 
    <td width="0px" valign="top"> 
    <table id="menu0_list" class="submenu" onMouseOver="showLayer('menu0_list')" onMouseOut="hiddenLayer('menu0_list')"> 
    <tr> 
    <td id="menu0-0" onMouseOver="lightOn('menu0-0')" onMouseOut="lightOff()" onClick="document.location = 'point11.php'"><a href="point11.php">Пункт 1-1</a></td> 
    </tr>
    ..... ну и так далее

    Заранее благодарен за помощь
     
Загрузка...

Поделиться этой страницей