Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   управление accordion menu (https://javascript.ru/forum/misc/4908-upravlenie-accordion-menu.html)

SuperPuperLesha 29.08.2009 11:16

управление accordion menu
 
Привет!.
Есть менюшка, сама по себе работает, хоть не трогай...
Но есть необходимость открывать и закрывать её списки из отдельного тэга, типа кнопка.

<script type="text/javascript" src="mootools.js"></script>

<script type="text/javascript">
window.addEvent('domready', function ddd(toggler, element,ee){
                                       var accordion = new Accordion('h3.menusection',
                                                                     'ul.menusection', {opacity:   false,
                                                                                        onActive:  function fff(toggler, element)
                                                                                           {
                                                                                            toggler.setStyle('color',           '#333333');
                                                                                            toggler.setStyle('background', '#F7F1E5');                                                                                                    
                                                                                            },
                                                                                        onBackground: function(toggler, element)
                                                                                            {  
                                                                                              toggler.setStyle('color',           '#333');
                                                                                              toggler.setStyle('background', '#E8D7B7');
                                                                                             }
                                                                                       },
                                                                      $('menu')
                                                                     );
                                      }
              );
</script>

<div id="box0">
<div id="menu">
  <h3 class="toggler menusection" id='XXX_1'>О компании</h3>
  <ul class="element menusection" id='YYY_1'>
   <li><a href="1">Ссылка 1</a></li>
   <li><a href="2">Ссылка 2</a></li>
   <li><a href="3">Ссылка 3</a></li>
  </ul>
  <h3 class="toggler menusection" id='XXX_2'>Статьи</h3>
  <ul class="element menusection" id='YYY_2'>
   <li><a href="1">Ссылка 1</a></li>
   <li><a href="2">Ссылка 2</a></li>
   <li><a href="3">Ссылка 3</a></li>
  </ul>
</div>
</div>



Кнопка.
<button onclick="
                         AA=document.getElementById('XXX_2');
                         BB=document.getElementById('YYY_2');
                        ">
</button>


Помогите открыть 2-й список в меню и закрыть первый.

JSprog 29.08.2009 11:42

А зачем тут motootols и скрипт

SuperPuperLesha 29.08.2009 12:03

Есть предложения ?
Готов выслушать все!

JSprog 29.08.2009 12:08

Работаю над скриптом

JSprog 29.08.2009 12:48

<html>
<body>
<div id=m1><h3>О компании</h3>
<ul>
<li><a href="1">Ссылка 1</a></li>
<li><a href="2">Ссылка 2</a></li>
<li><a href="3">Ссылка 3</a></li>
</ul>
</div>
<div id="m2"> <h3>Статьи<h3>
<ul>
<li><a href="1">Ссылка 1</a></li>
<li><a href="2">Ссылка 2</a></li>
<li><a href="3">Ссылка 3</a></li>
</ul>
</div>
<script>
function menu1(elmnt) {
if(document.getElementById(elmnt).style.display=="none") {
	document.getElementById(elmnt).style.display=""
   }
 else {
 document.getElementById(elmnt).style.display="none"
   }
}
</script>
<input type=button onclick=menu1('m1')><br>
<input type=button onclick=menu1('m2')>
</body>
</html>

Пойдёт? Тут только функция скрытия\показа фреймворк сами добавите

SuperPuperLesha 29.08.2009 13:11

Да! класс. Я об этом тож думал с самого начала, останавливало только то, что менюшка в mootools обладает медленной скруткой-раскруткой. Что хотелось бы написать самому, но в другой раз. Мой план был добраться до события описанные в начале "onActive: function fff(toggler, element)" , и передать ему необходимые компоненты. Если есть такая возможность, думаю ответ гдето рядом, но Я его пака не вижу.


Часовой пояс GMT +3, время: 12:35.