Показать сообщение отдельно
  #14 (permalink)  
Старый 30.04.2009, 14:04
SAY
 
Сообщений: n/a

Сообщение от x-yuri Посмотреть сообщение
Ну или вообще, как ты представляешь работу многоуровневого меню?
Примерно так:
<style>                                                                                                                                                      
p { margin: 0px }                                                                                                                                            
body { font-size: 11px; font-family: verdana; line-height: 17px }                                                                                            
.sub { padding-left: 20px; display: block }                                                                                                                  
.menu { cursor: pointer; display: block }                                                                                                                    
a { text-decoration: none; color: #000000 }                                                                                                                  
</style>                                                                                                                                                     

<script language=JavaScript>
old = new Array(10);        
function show(obj,level) {  
if (document.getElementById(obj).style.display == 'none') 
{                                                         
    if ((typeof last != "undefined")&&(lastlevel != "undefined"))
    {                                                            
       if (level<lastlevel)                                      
       {                                                         
          for (var n=level; n<=lastlevel; n++) {                 
               document.getElementById(old[n]).style.display = 'none';
          }                                                      
       }
       if (lastlevel==level)
       {
          document.getElementById(last).style.display = 'none';
       }
    }
    document.getElementById(obj).style.display = 'block';
    last=obj;
    old[level]=obj;
    lastlevel=level;
    return (last,lastlevel,old);
}
else document.getElementById(obj).style.display = 'none';
}

</script>

<span class="menu" onclick="show('sub1','1')">+ 1</span>

<span class="sub" id="sub1" style="display: none">
<p><a href='http://'>1.1</a></p>
<p><a href='http://'>1.2</a></p>
</span>

<span class="menu" onclick="show('sub2','1')">+ 2</span>

<span class="sub" id="sub2" style="display: none">
<p><a href='http://'>2.1</a></p>
<p><a href='http://'>2.2</a></p>
<p><a href='http://'>2.3</a></p>
</span>

<span class="menu" onclick="show('sub3','1')">+ 3</span>

<span class="sub" id="sub3" style="display: none; border: 3px">
<a href='http://'>3.1</a></p>
<span class="menu" onclick="show('sub4','2')">+ 3.2</span>
    <span class="sub" id="sub4" style="display: none">
    <p><a href='http://'>3.2.1</a></p>
    <span class="menu" onclick="show('sub6','3')">+ 3.2.2</span>
        <span class="sub" id="sub6" style="display: none">
        <p><a href='http://'>3.2.2.1</a></p>
        <p><a href='http://'>3.2.2.2</a></p>
        <p><a href='http://'>3.2.2.3</a></p>
        </span>
    <p><a href='http://'>3.2.3</a></p>
    <p><a href='http://'>3.2.4</a></p>
    </span>
<span class="menu" onclick="show('sub5','2')">+ 3.3</span>
    <span class="sub" id="sub5" style="display: none">
    <p><a href='http://'>3.3.1</a></p>
    <p><a href='http://'>3.3.2</a></p>
    <p><a href='http://'>3.3.3</a></p>
    </span>
<p><a href='http://'>3.4</a></p>
</span>


Сделал, только остался вопрос. Почему не желательно использовать глобальные переменные?
Ответить с цитированием