Помогите исправить выпадающее меню
Есть код 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, время: 10:06. |