Помогите исправить выпадающее меню
Есть код JS
<script type="text/javascript">// <![CDATA[ function showTooltip4() { var myDiv4 = document.getElementById('tooltip4'); var p=document.getElementById('sp'); if(myDiv4.style.display == 'none') { myDiv4.style.display = 'block';p.innerHTML='<img src="http://cdn.endata.cx/images/personal/1276213/ndblRArrowYellow.gif" alt="" />'; } else { myDiv4.style.display = 'none';p.innerHTML='<img src="http://cdn.endata.cx/images/personal/1276213/dblRArrowYellow.gif" alt="" />'; } return false; } function showTooltip5() { var myDiv4 = document.getElementById('tooltip5'); var p=document.getElementById('sp2'); if(myDiv4.style.display == 'none') { myDiv4.style.display = 'block';p.innerHTML='<img src="http://cdn.endata.cx/images/personal/1276213/ndblRArrowYellow.gif" alt="" />'; } else { myDiv4.style.display = 'none';p.innerHTML='<img src="http://cdn.endata.cx/images/personal/1276213/dblRArrowYellow.gif" alt="" />'; } return false; } // ]]></script> html <div style="margin: 10px 5px 0px; padding: 10px; text-align: width:100%; color: #ff0;" class="enPnl1 border_rad5 pnGr"> <center><strong>Информационный блок</strong></center> <div class="hr" style="margin-top: 8px; margin-bottom: 4px; background-image: none; background-color: #0d3b00;"></div> <a class="lm" href="/...">Правила</a> <div class="hr" style="margin-top: 8px; margin-bottom: 4px; background-image: none; background-color: #0d3b00;"></div> <div2><a style="text-decoration: none;" onclick="showTooltip4()" href="javascript:;">Для авторов <span id="sp"> <img src="http://cdn.endata.cx/images/personal/1276213/dblRArrowYellow.gif" alt="" /></span></a></div2> <div id="tooltip4" style="display: none;"><a class="lm" href="/Addons.aspx?aid=3830">- Авторам игр</a><br /> <a class="lm" href="/Addons.aspx?aid=12149">- Об авторских ошибках</a></div> <div class="hr" style="margin-top: 8px; margin-bottom: 4px; background-image: none; background-color: #0d3b00;"></div> <div2><a style="text-decoration: none;" onclick="showTooltip5()" href="javascript:;">Для авторов-2 <span id="sp2"> <img src="http://cdn.endata.cx/images/personal/1276213/dblRArrowYellow.gif" alt="" /></span></a></div2> <div id="tooltip5" style="display: none;"><a class="lm" href="/Addons.aspx?aid=3830">- Авторам игр-2</a><br /> <a class="lm" href="/Addons.aspx?aid=12149">- Об авторских ошибках-2</a></div> <div class="hr" style="margin-top: 8px; margin-bottom: 4px; background-image: none; background-color: #0d3b00;"></div> </div> можно ли сделать код намного проще? т.к. при создании новых пунктов в которых будет подменю я копирую код JS. или это на быстродействие сайта не будет влиять? и еще вопрос. как сделать, чтобы при раскрытии меню и переходе по какому либо подпункту, это меню не закрывалось, а оставалось в открытом состоянии (чтобы постоянно не открывать его если пользователь хочет изучить подразделы)? |
Цитата:
function showTooltip(div, p) { var myDiv = document.getElementById(div); var p=document.getElementById(p); if (myDiv.style.display == 'none') { myDiv.style.display = 'block'; p.innerHTML='<img src="http://cdn.endata.cx/images/personal/1276213/ndblRArrowYellow.gif" alt="" />'; } else { myDiv.style.display = 'none'; p.innerHTML='<img src="http://cdn.endata.cx/images/personal/1276213/dblRArrowYellow.gif" alt="" />'; } return false; } а для того, чтобы было открыто нужно передать переменную в ссылке на следующую страницу (например, http://site.ru/page2.html?div2=open) и при загрузки страницы проверять адресную строку на соответствующие параметры или воспользоваться cookie's и записывать туда необходимые данные... |
Что то скрипт не работает.. не раскрывает меню. Нужно в html что-то менять?
|
Цитата:
|
Цитата:
<script type="text/javascript"> function showTooltip(div, p) { var myDiv = document.getElementById(div); var p=document.getElementById(p); if (myDiv.style.display == 'none') { myDiv.style.display = 'block'; p.innerHTML='<img src="http://cdn.endata.cx/images/personal/1276213/ndblRArrowYellow.gif" alt="" />'; } else { myDiv.style.display = 'none'; p.innerHTML='<img src="http://cdn.endata.cx/images/personal/1276213/dblRArrowYellow.gif" alt="" />'; } return false; } </script> <div style="margin: 10px 5px 0px; padding: 10px; text-align: width:100%; color: #ff0;" class="enPnl1 border_rad5 pnGr"> <center><strong>Информационный блок</strong></center> <div class="hr" style="margin-top: 8px; margin-bottom: 4px; background-image: none; background-color: #0d3b00;"></div> <a class="lm" href="/...">Правила</a> <div class="hr" style="margin-top: 8px; margin-bottom: 4px; background-image: none; background-color: #0d3b00;"></div> <div2><a style="text-decoration: none;" onclick="showTooltip4()" href="javascript:;">Для авторов <span id="sp"> <img src="http://cdn.endata.cx/images/personal/1276213/dblRArrowYellow.gif" alt="" /></span></a></div2> <div id="tooltip4" style="display: none;"><a class="lm" href="/Addons.aspx?aid=3830">- Авторам игр</a><br /> <a class="lm" href="/Addons.aspx?aid=12149">- Об авторских ошибках</a></div> <div class="hr" style="margin-top: 8px; margin-bottom: 4px; background-image: none; background-color: #0d3b00;"></div> <div2><a style="text-decoration: none;" onclick="showTooltip5()" href="javascript:;">Для авторов-2 <span id="sp2"> <img src="http://cdn.endata.cx/images/personal/1276213/dblRArrowYellow.gif" alt="" /></span></a></div2> <div id="tooltip5" style="display: none;"><a class="lm" href="/Addons.aspx?aid=3830">- Авторам игр-2</a><br /> <a class="lm" href="/Addons.aspx?aid=12149">- Об авторских ошибках-2</a></div> <div class="hr" style="margin-top: 8px; margin-bottom: 4px; background-image: none; background-color: #0d3b00;"></div> </div> |
а кто за вас будет передавать параметры в функцию? которую вы даже не прописали, и оставили старые функции (showTooltip4(), showTooltip5())
<div style="margin: 10px 5px 0px; padding: 10px; text-align: width:100%; color: #ff0;" class="enPnl1 border_rad5 pnGr"> <center><strong>Информационный блок</strong></center> <div class="hr" style="margin-top: 8px; margin-bottom: 4px; background-image: none; background-color: #0d3b00;"></div> <a class="lm" href="/...">Правила</a> <div class="hr" style="margin-top: 8px; margin-bottom: 4px; background-image: none; background-color: #0d3b00;"></div> <div2><a style="text-decoration: none;" onclick="showTooltip('tooltip4', 'sp')" href="javascript:;">Для авторов <span id="sp"> <img src="http://cdn.endata.cx/images/personal/1276213/dblRArrowYellow.gif" alt="" /></span></a></div2> <div id="tooltip4" style="display: none;"><a class="lm" href="/Addons.aspx?aid=3830">- Авторам игр</a><br /> <a class="lm" href="/Addons.aspx?aid=12149">- Об авторских ошибках</a></div> <div class="hr" style="margin-top: 8px; margin-bottom: 4px; background-image: none; background-color: #0d3b00;"></div> <div2><a style="text-decoration: none;" onclick="showTooltip('tooltip5', 'sp2')" href="javascript:;">Для авторов-2 <span id="sp2"> <img src="http://cdn.endata.cx/images/personal/1276213/dblRArrowYellow.gif" alt="" /></span></a></div2> <div id="tooltip5" style="display: none;"><a class="lm" href="/Addons.aspx?aid=3830">- Авторам игр-2</a><br /> <a class="lm" href="/Addons.aspx?aid=12149">- Об авторских ошибках-2</a></div> <div class="hr" style="margin-top: 8px; margin-bottom: 4px; background-image: none; background-color: #0d3b00;"></div> </div> и что это за div2? такого тега не существует... |
lord2kim спасибо большое! все заработало, но я новичек можно сказать и ни как не могу сделать вот этот пункт
Цитата:
Спасибо большое! |
Цитата:
у вас ссылка вида http://34.en.cx/Addons.aspx?aid=3830...не знаю как она у вас в php обрабатывается, но вы можете сделать, например, так... http://34.en.cx/Addons.aspx?aid=3830&div=tooltip1&p=sp где div-у приравнивается значение идентификатора id соответствующего div-a, а p - идентификатор id соответствующего span-а в javascript на соответствующей странице пишите что-то типа такого (при этом нужно, чтобы php, наверное, не обрабатывал лишние "переменные" в GET-запросе) window.onLoad = function() { var lb = String(window.location.search), div, p; lb = lb.split("&").split("="); for (i=0; i < lb.length; i++2) { if (lb[i] == "div") { div = lb[i+1]; } else if (lb[i] == "p") { p = lb[i+1]; } } if (typeof div && typeof p) { showTooltip(div, p); } } здесь с помощью window.location.search получаем часть строки браузера после знака ?, преобразуем в строку, разбиваем строку на массив по символу &, потом по символу = и проверяем каждый четный элемент полученного массива на соответствующее значение, а каждое нечетное значение массива присваиваем соответствующей переменной при совпадении четного элемента массива с необходимыми данными после прохождения по всему массиву проверяем существуют ли обе переменные (не равны "undefined"), то в этом случае вызываем функцию с соответствующими аргументами... |
Часовой пояс GMT +3, время: 17:10. |