![]() |
Сложне меню + javascript
Есть большое меню страниц такого вида:
1 уровень 2 уровень 3 уровень 2 уровень 2 уровень 3 уровень 1 уровень 2 уровень Нужно динамически добавить уникальный id для каждого блока уровня следующим образом:3 уровень 1 уровень <div id="уникальный id для этого блока 2го уровня"> <div id="уникальный id для этого блока 3го уровня"> 2 уровень <div id="уникальный id для этого блока 3го уровня"> </div> 1 уровень <div id="уникальный id для этого блока 2го уровня"> <div id="уникальный id для этого блока 3го уровня"> Код TS который уже есть:</div> lib.menu = COA lib.menu { stdWrap.insertData = 1 20 = HMENU 20.special = directory 20.special.value = 8 20.1 = TMENU 20.1 { expAll = 1} 20.2 = TMENU 20.2 { wrap = <div id="{field:header}">|</div>} 20.3 = TMENU 20.3 { wrap = <div id="{field:header}">|</div>} } Делается это для того что бы можно было сворачивать и разворачивать меню при помощи javascript-a. Как это можно реализовать? И можно ли вообще? Уже весь мозг себе сломал решая эту задачу :( |
Я использовал stdWrap2.dataWrap для js меню. тут пример с jquery
Один недостаток - stdWrap2 работает только с NO. У меня не получилось сделать с ACT. |
Спасибо за помощь! Решение найдено :) Выглядит оно так:
lib.menu = COA lib.menu { stdWrap.insertData = 1 20 = HMENU 20.special = directory 20.special.value = 8 20.1 = TMENU 20.1 { expAll = 1 NO.allWrap = <span class="cat_first_level_no"> | <br></span> NO.stdWrap.htmlSpecialChars = 1 ACT = 1 ACT.stdWrap.htmlSpecialChars = 1 ACT.allWrap = <span class="cat_first_level_no"> | <br></span> } 20.2 = TMENU 20.2 { expAll = 1 NO.stdWrap2.dataWrap = <div class="cat_second_level_no"><a href="index.php?id={field:uid}" onfocus="blurLink(this);">|</a><br></div><div> NO.stdWrap.htmlSpecialChars = 1 NO.doNotLinkIt = 1 ACT = 1 ACT.stdWrap.htmlSpecialChars = 1 ACT.doNotLinkIt = 1 ACT.stdWrap2.dataWrap = <div class="cat_second_level_no"><a href="index.php?id={field:uid}" onfocus="blurLink(this);">|</a><br></div><div> } 20.3 = TMENU 20.3 { expAll = 1 wrap = |</div> NO.allWrap =<span class="cat_third_level_no"> | <br></span> NO.stdWrap.htmlSpecialChars = 1 ACT = 1 ACT.stdWrap.htmlSpecialChars = 1 ACT.allWrap = <span class="cat_third_level_no"> | <br></span> } } Красным выделен блок оборачивающий 3-ий уровень меню именно так как показано на схеме выше. Надеюсь кому то этот прием пригодится! :) |
А stdWrap2 заработал в ACT? У меня не работал :(
|
Похоже что заработал.
Кстати. Забыл добавить что в таком меню не работает RealUrl так как ссылки писаные в ручную :( |
Часовой пояс GMT +4, время: 07:29. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot